java可以并发的器皿
java可以并发的容器
在多线程下,同步的JAVA容器:
List list = new LinkedList();
list = Collections.synchronizedList(list);
Map map = new HashMap();
map = Collections.synchronizedMap(map);
list和map是有条件的同步,即list和map只是在单步操作时,才是同步的 。
在对list和map多次操作时,不能保证线程在多步操作时一直拥有锁,有可能在多个线程之间交替拥有锁。
所以,在使用它们时,需要同步操作它们的代码。
在多线程下,同步的JAVA容器:
List list = new LinkedList();
list = Collections.synchronizedList(list);
Map map = new HashMap();
map = Collections.synchronizedMap(map);
list和map是有条件的同步,即list和map只是在单步操作时,才是同步的 。
在对list和map多次操作时,不能保证线程在多步操作时一直拥有锁,有可能在多个线程之间交替拥有锁。
所以,在使用它们时,需要同步操作它们的代码。