JUC
独依栏窗
这个作者很懒,什么都没留下…
展开
-
深入理解Volatile
什么是Volatile? 是一个轻量级的同步关键字。 作用: 1、保证可见性 2、不保证原子性 3、防止指令重排。 保证可见性 【意】是指当一个线程修改了共享变量的值,其他线程也能够立即得知这个通知。 在主存和工作内存之间有一条总线,并且线程会启用嗅探机制(监测)一旦主存发生改变就会把数据拷贝过去。 修改上面的代码,给变量添加volatile关键字,这样就保证了变量的可见性,while不会再死循...原创 2020-04-18 17:22:58 · 200 阅读 · 0 评论 -
JMM与代码演示
什么是JMM? JMM(Java Memory Model):Java内存模型。 JMM是一种约定或者概念,是一种不存在的东西, 【个人理解】 JMM内存模型中规定了所有的变量都存储在主内存中。 而每个线程都有一个工作内存,工作内存保存了这个线程所使用到的主内存变量副本拷贝。 对变量的所有操作(读取、赋值等)都必须在工作内存进行,不允许直接读取主内存的变量。 不同的线程之间无法直接访问到对方的工作...原创 2020-04-18 17:18:39 · 159 阅读 · 0 评论