集合的同步控制,Collections类中提供了多个synchronizedXxx方法

来源:互联网 发布:杭州淘宝客服工资多少 编辑:程序博客网 时间:2024/06/05 09:52

Collections类中提供了多个synchronizedXxx方法,
该方法返回指定集合对象对应的同步对象,从而可以解决多线程并发访问
集合时的线程安全问题。

集合框架中经常使用的三个实现类:HashSet、ArrayList、
HashMap都是线程不安全的。如果有多个线程访问它们,
而且有超过一个线程试图修改它们,则可能出现并发错误。
Collections提供了多个静态方法用于创建同步集合。

eg:
//创建四个同步的集合对象
Collection c = Collections.synchronizedCollection(new ArrayList());
List list = Collections.synchronizedList(new ArrayList());
Set set = Collections.synchronizedSet(new HashSet());
Map map = Collections.synchronizedMap(new HashMap());

这样使用就直接返回了List、Set、Map的线程安全的版本。