1. 首页
  2. 编程语言
  3. Java
  4. java的多线程高并发详解

java的多线程高并发详解

上传者: 2021-07-01 10:11:20上传 PDF文件 196.71 KB 热度 13次

加了volatile后,添加了缓存一致性协议,CPU通过总线嗅探机制感知到数据的变化而自己缓存里的值失效,此时线程一会把工作内存中存放的flag失效,从主内存中重新读取flag的值,此时满足while条件。cpu为了优化代码执行效率,会对满足as-if-serial和happens-before原则的代码进行指令重排序,as-if-serial规定线程内的执行代码顺序不影响结果输出,则会进行指令重排;happens-before规定一些锁的顺序,同一个对象的unlock需要出现下一个lock之前等。

用户评论