随笔分类 -  多线程,并发

摘要:这个程序运行结果会是什么? 如果知道ArrayList不是线程安全的也许答案就是线程T1运行结束,T2一直执行下去不会抛出异常而结束。事实结果也确是这样。但这样的执行结果背后却值得深思。 问题1:这是因为有可能T2线程某次读入缓存的size为4,但下一次读入缓存的数字是6,所以永远进入不了if. 但 阅读全文
posted @ 2018-08-14 16:09 Mibloom 阅读(253) 评论(0) 推荐(0)
摘要:happens-before原则: happens-before它是判断数据是否存在竞争、线程是否安全的主要依据。为了保证线程安全我们可以让2个操作具有happens-before关系。(JDK5 开始) happens-before的8条规则能够保证存在happens-before规则的单一线程或 阅读全文
posted @ 2018-08-09 23:48 Mibloom 阅读(346) 评论(0) 推荐(0)