摘要: 上一节讨论了 volatile关键字,volatile关键字修饰的作用是不具有 "原子性" 和 "互斥性的" 例如 i++ 操作 就不是一个原子性的操作,i++ 其实分为3个步骤进行 "读-改-写" int temp = i; i = i + 1; i= temp; 先看一段代码: 创建10个线程, 阅读全文
posted @ 2017-01-22 23:10 wq3435 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 先看一段代码: 运行这段代码,运行的结果只有: flag= true 这是由于 子线程在操作共享数据时,会将主存总的flag,复制一份到线程的缓存中进行操作,操作完成后会再将数据写到主存中,由于while(true)是一个运行效率非常高的一句代码,而且运行速度非常快,导致主线程再执行循环时没有机会从 阅读全文
posted @ 2017-01-22 22:14 wq3435 阅读(393) 评论(0) 推荐(0) 编辑