Originariamente inviato da lio.b
ho un array (memoria condivisa) in cui un thread scrittore va a scrivere dei file immagine e un thread lettore le mostra su di una gui.
Hai già l'altra discussione aperta ...

Originariamente inviato da lio.b
Se uso shincronyzer mi ritrovo che mentre leggo l'immagine nella cella 0 (per esempio) non posso scrivere le nuove immagini nella cella 1 e 2 dell'array
Ma quello che forse non hai ancora afferrato è che il get()/set() su un List ma anche un add() se ipotizziamo un numero non enorme di elementi, sono operazioni brevissime!!!

Quindi usando un Vector (o ArrayList in un synchronized "wrapper") se anche un thread sta leggendo la cella X (quindi ha il lock) è una operazione brevissima e se un altro thread sta cercando di leggere un'altra cella o di aggiungere un elemento ... beh, aspetterà un tempo molto molto molto piccolo.

E come ti ho già detto nell'altra discussione, non servirebbe un thread che "legge", basterebbe usare un Timer.