Ever since JDK 1.2 collections are being widely used to store data in our programs. These Collection classes are used to store data which are shared by diferrent threads. Hence come the problem of which collection are. i.e. Operations on these collection classes are synchronized.
If a collection class is isn't thread-safe and if we intend to use it in our multithreaded program, then we need to explicit Ely synchronize them. (or apply a wrapper class)
Some Thread Safe Collection classes Are:vector Stack Hashtable concurrenthashmap concurrentlinkedqueue Copyonwritearrayl Ist copyonwritearrayset
Thread Unsafe Collection classes:hashset, TreeSet, HashMap, TreeMap, Weakhashmap, Identityhashmap, Linkedhashmap etc.
How to achieve synchronization when working and collections in multithreaded programs Can is done by:usage of a Thread Safe Collection (:-) Seems simple Huh ...) Manage synchronization explicitely by providely synchronized access to certain of code. Usage of a synchronized version of a Thread-unsafe collection class Map m = Collections.synchronizedmap (New HashMap ()); Look into the synchronized_ _ Mthods of the collections class for more details.