摘要: 一、重排序场景 class ResortDemo { int a = 0; boolean flag = false; public void writer() { a = 1; //1 flag = true; //2 } Public void reader() { if (flag) { // 阅读全文
posted @ 2019-12-31 11:48 朱子威 阅读(360) 评论(0) 推荐(0)
摘要: 二、ObjectMonitor 结构 前面讲到 java.lang.Object 类定义了 wait(),notify(),notifyAll() 方法。 这些都是 native方法,底层是C++来实现的。 这些方法的具体实现,依赖一个叫做ObjectMonitor模式实现,这是JVM内部C++实现 阅读全文
posted @ 2019-12-31 10:20 朱子威 阅读(6309) 评论(2) 推荐(1)
摘要: 实现原理 synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的内存可见性 Java中每一个对象都可以作为锁,这是synchronized实现同步的基础: 普通同步方法,锁是当前实例对象 静态同步方法,锁是当前类的class对象 同步 阅读全文
posted @ 2019-12-31 09:55 朱子威 阅读(1402) 评论(0) 推荐(0)