View Single Post
Old 06-04-2011, 13:35   #3
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Può essere un problema di sincronizzazione (che manca) o un errore logico. Nel secondo caso dovresti notare il problema sempre nello stesso momento, nel primo dovrebbe verificarsi in modo apparentemente casuale.

Se il problema è di sincronizzazione allora devi controllare il tuo codice perchè da qualche parte assumi la visibilità inter-thread di una mutazione di stato che in verità, per com'è fatto il codice, non è garantita.

Beh, non penso che sia un errore logico, sembra casuale la cosa, ma avviene sempre poco dopo l'avvio.
I Thread li sincronizzo con il Join, dici che può bastare?

Più o meno faccio così:

Codice:
for (int i=0; i<threadQuantity; i++){
threadList.add(new myThread(objectList)); threadList.get(threadList.size()-1).start();
} for (int i=0; i<threadQuantity; i++){
threadList.get(i).join();
}
Lim è offline   Rispondi citando il messaggio o parte di esso