请问这样让hashset和arraylist实现线程安全?
最好能有代码 谢谢
最好能有代码 谢谢
解决方案 »
- 退出循环语句
- 求jdbc 封装及存储
- 谁有相关于ant方面的电子书籍和相关例子方法学习
- 静态方法和非静态方法的内存使用
- 关于引用
- 小弟要让鼠标到达一个矩形区域时变成上下的箭头,就是调整大小的那种光标,怎么来做?谢谢各位大虾!
- 还有一个弱弱的问题:学习java之前需要有多深的编程基础?
- BankBean_187rw_Impl.class这个文件是用来做什么的?
- 请问这里有兰州的吗?我要接受公司的神圣使命,去开发大西北了。
- 一个晚上了,我还是不明白?各位兄弟,帮帮忙吧!看看下面一段程序是关于JList类的!
- EventDispatchThread 是个什么东东,我调试时为什么经常进入这个类。。。。
- resultset
List list=Collections.synchronizedList(new ArrayList());
可以锁对象或者锁方法当然还有一些靠API支持的扩展锁,具体用法差GOOGLE吧
找synchronized
synchronizedList
public static <T> List<T> synchronizedList(List<T> list)返回指定列表支持的同步(线程安全的)列表。为了保证按顺序访问,必须通过返回的列表完成所有对底层实现列表的访问。
在返回的列表上进行迭代时,用户必须手工在返回的列表上进行同步: List list = Collections.synchronizedList(new ArrayList());
...
synchronized(list) {
Iterator i = list.iterator(); // Must be in synchronized block
while (i.hasNext())
foo(i.next());
}
不遵从此建议将导致无法确定的行为。
如果指定列表是可序列化的,则返回的列表也将是可序列化的。
楼上已经给过答案了,如果楼主注意一下吼~~在JDK API文档里有些的吼~~