摘要: volatile和synchronized特点 首先需要理解线程安全的两个方面:执行控制和内存可见。 执行控制的目的是控制代码执行(顺序)及是否可以并发执行。 内存可见控制的是线程执行结果在内存中对其它线程的可见性。根据Java内存模型的实现,线程在具体执行时,会先拷贝主存数据到线程本地(CPU缓存 阅读全文
posted @ 2017-09-29 16:12 孤独的代码 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 引用地址:http://blog.csdn.net/suifeng3051/article/details/52611310 Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以J 阅读全文
posted @ 2017-09-29 16:10 孤独的代码 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 1.原子性 原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 2.可见性 可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。 3.有序性 有序性:即程序执行的顺序按照代码的先后顺序执行。 Volatile( 阅读全文
posted @ 2017-09-29 11:42 孤独的代码 阅读(249) 评论(0) 推荐(0) 编辑