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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王轶 黑马帝   /  2011-9-28 12:25  /  1679 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有一个静态变量的arrayList a=new arrayList()
一个线程正在遍历这个list,而另一个线程把它设置null了,
这样会出问题吗?

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

4 个回复

倒序浏览
黑马网友  发表于 2011-9-28 17:08:44
沙发
要是情况而定
回复 使用道具 举报
遍历的时候你是希望遍历出null还是原来的值呢?
回复 使用道具 举报
黑马网友  发表于 2011-9-29 09:40:22
板凳
同样问题,等答案
回复 使用道具 举报
cpu在同时执行多个线程时,是在多个线程间高速的切换cpu的使用权限,
实际情况是,在单位时间上cpu只能执行一个线程,
若你所说的两个线程共享一个 静态的ArrayList时,会出现以下两种情况:
第一种情况:线程a先读取ArrayList的内容,然后线程b清空ArrayList.
或者是
第二种情况:线程b先清空ArrayList的内容,然后线程a读取ArrayList为空。

传智播客java基础视频-多线程中-讲的非常透彻,刚看完,视频地址:http://edu.csdn.net/heima/course.html
[ 本帖最后由 张校云 于 2011-09-29  17:54 编辑 ]

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

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