JVM 内存模型
2016-09-11 00:11
232 查看
线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,
一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,
操作完之后再写入main memory。多个线程同时操作同一个variable,就可能会出现不可预知的结果。
根据上面的解释,很容易想出相应的scenario。 而用synchronized的关键是建立一个monitor,
这个monitor可以是要修改的variable也可以其他你认为合适的object比如method,
然后通过给这个monitor加锁来实现线程安全,每个线程在获得这个锁之后,
要执行完load到workingmemory -> use&assign -> store到mainmemory 的过程,
才会释放它得到的锁。这样就实现了所谓的线程安全。
什么是线程安全?线程安全是怎么完成的(原理)? 线程安全就是说多线程访问同一代码,不会产生不确定的结果。编写线程安全的代码是低依靠线程同步。
一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,
操作完之后再写入main memory。多个线程同时操作同一个variable,就可能会出现不可预知的结果。
根据上面的解释,很容易想出相应的scenario。 而用synchronized的关键是建立一个monitor,
这个monitor可以是要修改的variable也可以其他你认为合适的object比如method,
然后通过给这个monitor加锁来实现线程安全,每个线程在获得这个锁之后,
要执行完load到workingmemory -> use&assign -> store到mainmemory 的过程,
才会释放它得到的锁。这样就实现了所谓的线程安全。
什么是线程安全?线程安全是怎么完成的(原理)? 线程安全就是说多线程访问同一代码,不会产生不确定的结果。编写线程安全的代码是低依靠线程同步。
相关文章推荐
- 通过JVM内存模型深入理解值传递和引用传递两种方式
- 【转】JVM内存模型
- JVM内存模型以及垃圾回收
- JVM内存模型及垃圾回收算法
- jvm(一)java对象内存模型
- 《深入理解Java虚拟机》读后总结(一)JVM内存模型
- 深入理解JVM(一)——JVM内存模型
- JVM内存模型以及垃圾收集策略解析
- 深入JVM系列(一)之内存模型与内存分配
- [jvm]体系结构 内存模型
- JVM内存模型及垃圾回收算法
- JVM内存模型及垃圾回收机制
- [jvm]体系结构 内存模型
- JVM内存模型
- 一张图学习jvm内存模型
- JVM 内存模型
- JVM内存模型
- jvm内存模型
- Java(JVM)内存模型和垃圾回收监控与调整
- JVM内存模型以及垃圾收集策略解析【续】