Se tieni quel campo static, va bene solo se crei 1 oggetto Lista. Se ne crei 2 o più ... quel campo static, essendo in comune, lo sovrascrivi!Originariamente inviato da bmw
Dici che static non va bene perchè creo comunque un solo ArrayList e non ha senso che sia statico ??
Infatti non cambia. Perché mettendo il synchronized sul run(), si cerca di acquisire il lock sull'oggetto sui cui è invocato il run() ... che è il Thread01 o a seconda, Thread02.Originariamente inviato da bmw
Ho modificato così il run() del thread ma non cambia l'esecuzione...
In sostanza il thread 1 cerca di acquisire il lock sulla istanza di Thread01 e il thread 2 cerca di acquisire il lock sulla istanza di Thread02. Sono due oggetti diversi, quindi non c'è contendimento tra i due thread!