Making a Thread-Safe or Synchronized Collection

 
Making a Thread-Safe or Synchronized Collection

As you know by now, the commonly used collection classes, such as java.util.ArrayList, are not synchronized. However, if there's a chance that two threads could be altering a collection concurrently, you can generate a synchronized collection from it using the synchronizedCollection() method. Similar to the read-only methods, the thread-safe APIs let you generate a synchronized collection, list, set, or map. For instance, this is how you can generate a synchronized map from a HashMap:
 
Map map = Collections.synchronizedMap(new HashMap());
map.put(“key”, “result”);

Note that the reference is not stored to the un-synchronized map. It's very important to only access a synchronized collection or a map from the object (reference) returned by the corresponding synchronizeXXX() method. Otherwise, the behavior would be undefined.

你可能感兴趣的:(object,HashMap,Access,reference,methods,behavior)