摘要: volatile关键字可以说是Java虚拟机提供的最轻量级的同步机制,但是它并不容易完全被正确、完整地理解,以至于许多程序员都习惯不去使用它,遇到需要处理多线程数据竞争问题的时候一律使用synchronized来进行同步。了解volatile变量的语义对了解多线程操作的其他特性很有意义,在本文中我们 阅读全文
posted @ 2020-03-09 12:15 东哥的篮球鞋 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 1. 原子性(Atomicity): 一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 我们先来看看哪些是原子操作,哪些不是原子操作,先有一个直观的印象: int i = 7 ; // 代码1 i++; // 代码2 int k = i ; // 代码3 i = 阅读全文
posted @ 2020-03-09 12:00 东哥的篮球鞋 阅读(197) 评论(0) 推荐(0) 编辑
摘要: Java虚拟机规范中试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。在此之前,主流程序语言(如C/C++等)直接使用物理硬件和操作系统的内存模型,因此,会由于不同平台上内存模型的差异,有可能导致程序在一套平台上并发完全 阅读全文
posted @ 2020-03-09 11:43 东哥的篮球鞋 阅读(147) 评论(0) 推荐(0) 编辑