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

浙公网安备 33010602011771号