• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Java的挥发性,同步,原子例如

java 来源:so_what 4次浏览

您好我正在读Java并发在实践中,我读有趣的说法指出,Java的挥发性,同步,原子例如

锁定既能保证可见性和原子;易变的 变量只能保证能见度。

任何一个可以请解释,如果变量声明为挥发性所有其他线程读取更新获得价值那就是为什么我关心像声明中的原子:counter = counter + 1;

在此先感谢。


===========解决方案如下:

volatile关键字的效果大约是每个单独的读或写操作在该变量是原子的。但是,值得注意的是,需要多个读/写操作的操作 – 例如i ++,相当于i = i + 1,它执行一次读取和一次写入 – 不是原子的,因为另一个线程可能会在读和写之间写入i。

的原子类,像的AtomicInteger和的AtomicReference,提供更广泛的各种操作的原子,具体包括增量的AtomicInteger。

这就是为什么你需要关心的原子像反陈述=计数器+ 1

请查看这篇文章Volatile Vs Atomic


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)