标签:get highlight 加锁 incr 赋值 cin 程序代码 并发 ref
J2SE 5.0提供了一组atomic class来帮助我们简化同步处理。基本工作原理是使用了同步synchronized的方法实现了对一个long, integer, 对象的增、减、赋值(更新)操作. 比 如对于++运算符AtomicInteger可以将它持有的integer 能够atomic 地递增。在需要访问两个或两个以上 atomic变量的程序代码(或者是对单一的atomic变量执行两个或两个以上的操作)通常都需要被synchronize以便两者的操作能够被当作是 一个atomic的单元。
class Counter { private volatile int count = 0; public synchronized void increment() { count++; //若要线程安全执行执行count++,需要加锁 } public int getCount() { return count; } }
class Counter { private AtomicInteger count = new AtomicInteger(); public void increment() { count.incrementAndGet(); } //使用AtomicInteger之后,不需要加锁,也可以实现线程安全。 public int getCount() { return count.get(); } }
[Android Pro] AtomicInteger的用法
标签:get highlight 加锁 incr 赋值 cin 程序代码 并发 ref
原文地址:http://www.cnblogs.com/0616--ataozhijia/p/6869657.html