摘要: 可见性:可见性指的是一个线程对主内存的修改可以被其他线程及时地察觉到。 导致共享变量在线程间不可见的原因: 1、线程交叉执行 2、指令重排序结合线程交叉执行 3、共享变量的值没有及时更新到主存中 Java内存模型:Java内存模型(Java Memory Model ,JMM)就是一种符合内存模型规 阅读全文
posted @ 2020-02-20 11:26 花园里的大猪 阅读(92) 评论(0) 推荐(0)
摘要: 保证线程安全性的三点: 一、原子性:提供互斥访问,在同一时刻只能有一个线程来对它进行操作。 二、可见性:一个线程对主内存的修改可以让其它线程及时的观察到。 三、有序性:由于cpu和jvm对指令的重排序,会使得其他线程观察到的该线程操作是杂乱无序的。 java中提供了Atomic包的AtomicXXX 阅读全文
posted @ 2020-02-12 22:01 花园里的大猪 阅读(127) 评论(0) 推荐(0)