A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹奎 中级黑马   /  2013-8-3 08:51  /  1335 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合里面有线程安全的集合有线程不安全的集合,什么是线程安全呢?什么不是线程安全?线程安全和同步有什么关系?

2 个回复

倒序浏览
本帖最后由 py强子 于 2013-8-6 01:45 编辑

线程安全:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的
反之就是线程不安全;
线程安全和同步关系:
线程安不安全,取决于线程间操作的对象是否有共同变量,如果每个线程对应一个对象,那么线程各自操作的对象是独立的,相互不影响,根本不用考虑去同步。这也是解决多线程同步的一种策略,而不是采用同步关键字去用一个对象。
线程不安全例子:

List<String> list= Collections.synchronizedList(new ArrayList<String>());
if(list.size()<10){
    lsit.add("obj");
}
不能保证lsit.size()之后,list.add("obj")之前,另外一个线程不add别的数据。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马