黑马程序员技术交流社区
标题: Collections线程安全类函数返回值 [打印本页]
作者: 晓月残魂 时间: 2015-8-14 22:06
标题: Collections线程安全类函数返回值
为实现线程安全,Collections内定义内部类,内部类里定义了相应集合中的函数
如下
public boolean add(E e)
{
synchronized (mutex) // mutex是Collections相应内部类的成员变量,充当锁
{
returnc.add(e); //c指Collection对象
}
}
ArrayList<String> arrayList = new ArrayList<String>();
因为写了内部类,所以Collections.synchronizedList(arrayList);的返回值不可能还是ArrayList
1)List<String> list = Collections.synchronizedList(arrayList);
2)ArrayList<String> list = (ArrayList<String>) Collections.synchronizedList(arrayList);
方式1和方式2 那个能够保证线程安全,还是说都可以?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |