Lettura di Cell valori in più thread contemporaneamente
Per leggere i valori delle celle in più di un thread contemporaneamente, impostaFoglio di lavoro.getCells().setMultiThreadReading() aVEROIn caso contrario, potresti ottenere valori di cella errati. Tieni presente che alcune funzionalità come la formattazione dei valori delle celle non sono supportate per thread multipli. Quindi MultiThreadReading ti consente solo di accedere solo ai dati originali della cella. In un ambiente con più thread, se si tenta di ottenere il valore formattato della cella, ad esempio da Cell.getStringValue() per i valori numerici, è possibile che si ottengano risultati o eccezioni imprevisti.
Il seguente codice:
- Crea una cartella di lavoro.
- Aggiunge un foglio di lavoro.
- Popola il foglio di lavoro con valori stringa.
- Quindi crea due thread che leggono simultaneamente i valori da celle casuali. Se i valori letti sono corretti non succede nulla. Se i valori letti non sono corretti, viene visualizzato un messaggio.
Se commenti questa riga:
testWorkbook.getWorksheets().get(0).getCells().setMultiThreadReading(true);
quindi viene visualizzato il seguente messaggio:
if (s.equals("R" + row + "C" + col)!=true)
{
System.out.println("This message box will show up when cells read values are incorrect.");
}
In caso contrario, il programma viene eseguito senza mostrare alcun messaggio, il che significa che tutti i valori letti dalle celle sono corretti.