yuyee

volatile

volatile语义:告诉处理器,不要到工作内存中找我,而是直接到主存中操作我,多线程或者多核环境下,变量共享
使用volatile要注意,他只能保证可见性,但不能保证原子性;
如i++之类的操作,他分为read i的值,之后执行i+1
当出现并发情况时,1线程read i的值,而2线程修改了i的值,这个时候1线程如果再将值刷到主存的话就会造成覆盖。
可以通过synchronized在同步代码段,保证原子性
或者使用jdk1.5的原子包

posted on 2010-11-01 14:04 羔羊 阅读(99) 评论(0)  编辑  收藏 所属分类: concurrent