java保证原子性 java里volatile关键字有什么特性是否能保证线程安全?
浏览量:1383
时间:2021-04-14 10:44:43
作者:admin
java里volatile关键字有什么特性是否能保证线程安全?
1. Volatile不能保证原子性。简而言之,Java有所谓的主存区和线程栈。在主内存区域和每个线程的堆栈中都有相同变量的副本(一对多)。另一方面,通过修改volatile的值来保证当前线程对主内存的可见性。JVM本身是一个软件抽象,它已经在操作系统之上了。由于非原子性,volatile不能保证线程安全。如果只有简单的读写操作,比如set I=2,get I,就可以认为是安全的。4Volatile被认为比lock更轻,编程更简单。可以使用volatile的地方:对于一个变量,更新它的值不依赖于当前值,并且该变量不会与其他变量形成一个不可变的条件。
java保证原子性 java原子性是什么意思 Java原子类
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。