|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
[Java] sincronizzazione durante iterazione
in un oggetto Vector le operazioni di aggiunta e rimozione di elementi sono atomiche; lo è anche una intera iterazione su tutti gli elementi fatta tramite un iterator? per esempio questa:
Codice:
Vector<Integer> asd = ...;
for (Integer lol : asd) {
// ...
}
grazie |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
io penso proprio di no.... cmq spè ke vedo se trovo qualkosa x sicurezza
__________________
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Va tutto a ramengo (quando uno è tecnico è tecnico
Viene sparata una ConcurrentModificationException e il bello è che non è affatto "Concurrent". In pratica l'oggetto restituito da iterator() è usabile fintantochè non sia invocato un add (o qualsiasi metodo che comporti "mutazione strutturale") sul bersaglio dello scorrimento. A prescindere dal fatto che sia un altro Thread a produrre la mutazione. PS.: butta l'occhio alla documentazione di java.util.Vector, l'inghippo è descritto nel quarto paragrafo.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
__________________
|
|
|
|
|
|
#5 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() grazie entrambi ^^ |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:44.



















