标签:pac 使用 ddc xtend mic 实现 atom 变量 thread
除了在i++操作时使用synchronized关键字实现同步外,还可以使用AtomicInteger原子类进行实现
原子操作时不可分割的整体,没有其他线程能够中断或检查正在原子操作的变量,一个原子类型就是一个原子操作的可用类型,他可以在没有锁的情况下,做到线程安全
package com.cky.thread; import java.util.concurrent.atomic.AtomicInteger; /** * Created by edison on 2017/12/9. */ public class AddCountThread extends Thread{ private AtomicInteger count = new AtomicInteger(0); @Override public void run() { super.run(); for (int i = 0; i < 10000; i++) { System.out.println(count.incrementAndGet()); } } }
package com.cky.test; import com.cky.thread.AddCountThread; /** * Created by edison on 2017/12/9. */ public class Run { public static void main(String[] args) { AddCountThread addCountThread = new AddCountThread(); Thread t1 = new Thread(addCountThread); t1.start(); Thread t2 = new Thread(addCountThread); t2.start(); Thread t3 = new Thread(addCountThread); t3.start(); Thread t4 = new Thread(addCountThread); t4.start(); Thread t5 = new Thread(addCountThread); t5.start(); } }
49993 49994 49995 49996 49997 49998 49999 50000
程序运行结果累加到了50000
标签:pac 使用 ddc xtend mic 实现 atom 变量 thread
原文地址:http://www.cnblogs.com/edison20161121/p/8011215.html