您的位置:首页 > 编程语言 > Java开发

Java多线程当中的violate

2015-07-11 14:39 232 查看
violate在多线程当中的用来修饰某个变量,这个变量只有一份,也就是不存在多线程cache它们本地的情况出现。从而保证对他的读和写是唯一的,不会存在不一致的情况。

一、适用的情况

对于某个变量只有读和写两种单一操作。

violate int count;

count=1;

count=0;

if(count==0){...}

上面都是单一操作,而

count=cout+1;

count++;

不是单一读写操作,因为在上面两种操作当中都涉及了先读然后在写的操作过程,这样volate无法保证原子性。

二、不是用的情况

synchronized对于代码块也有同步作用,但是violate做不到

参考

[1] /article/4058400.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: