摘要:
作用范围 1.普通方法(相当于给对象加锁) 2.静态方法(相当于给类加锁) 3.代码块 Synchronized方法的访问过程 明确一点:一个对象无论有多少个同步方法区,它们共用一把锁;不同的对象是不同的锁;对static方法加锁时,相当于对类直接加锁,所有对象都要等待; 1. java中的每个对象 阅读全文
摘要:
为什么需要内存屏障? 由于现代的操作系统都是多处理器.而每一个处理器都有自己的缓存,并且这些缓存并不是实时都与内存发生信息交换.这样就可能出现一个cpu上的缓存数据与另一个cpu上的缓存数据不一致的问题.而这样在多线程开发中,就有可能导致出现一些异常行为. 而操作系统底层为了这些问题,提供了一些内存 阅读全文