# Thread sichere Datenstruktur



## andkul (28. Sep 2009)

Hallo,

gibt es in der Standard API irgend eine voll thread-sichere Liste oder Queue? Vector zum Beispiel is ja nur methodenweise thread-save.
Muss ich denn jetzt wirklich selbst eine Liste/Queue definieren und jede Methode synchronous machen oder gibt´s da auch ne bessere Möglichkeit?

Vielen Dank schon mal


----------



## Der Müde Joe (28. Sep 2009)

>eine voll thread-sichere Liste oder Queue? 

alle...

Collections.synchronizedXXX(xxx)

wobei XXX = Map, List ...

EDIT:
hier:
Collections (Java Platform SE 6)


----------



## Marco13 (28. Sep 2009)

Noch drauf achten, dass beim drüberiterieren auf die jeweilige Collection gesynchronized sein muss

```
List list = Collections.synchronizedList(...);

...

synchronized (list) // <- Wichtig
{
    for (Object o : list) { ... }
}
```


----------



## andkul (28. Sep 2009)

ok, danke


----------



## eRaaaa (28. Sep 2009)

* "ConcurrentLinkedQueue" in den raum werf*


----------



## Wildcard (28. Sep 2009)

Je nach Anforderung gibt es auch dinge wie die CopyOnWriteArrayList.
CopyOnWriteArrayList (Java 2 Platform SE 5.0)


----------

