java 数据操作 原子性

java中 基本类型简单的赋值操作都属于原子操作 比如 int x;x=10; 

又比如y=x; x++;等操作其实是两步操作,单步都是原子操作,合起来就不是了,再多线程高并发下就会出现问题

valatile关键字保证了可见性,被修改的值会被立即更新到内存,但是依然不能保证原子性.

保证原子性方法:

1.将x++封装到方法,用synchronized 修饰该方法

2.还是将操作提到方法中 用lock

3. 变量用AtomicXXX修饰.

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章