
java
qq_30336623
这个作者很懒,什么都没留下…
展开
-
关于使用synchronized (非this对象) 时的注意事项
摘要 记录一个亲身经历的关于synchronized使用时的一次错误,直接上代码吧。 代码 public class MessageQueue { private Queue<Message> queue; private int waiter = 0; private final Object lock = new Object(); public...原创 2019-02-28 16:14:37 · 680 阅读 · 2 评论 -
volatile关键字深入解读
java并发——volatile关键字 volatile volatile关键字可以保证 1.实时性 2.有序性(禁止指令重排序) 指令重排序 指令重排序指程序运行期间的优化,发生在相同代码指令以不同顺序执行时在单线程内的结果一致时的优化手段,但是这种优化会在并发环境下出现问题。 缓存 操作变量值时,会将变量值从主存中读取,加载至缓存中(L1 Cache或L2 Cache等) 内存屏障 指一种底层...原创 2019-04-24 20:58:21 · 125 阅读 · 0 评论