2.3.5多线程和原子类

来源:互联网 发布:nginx nagios搭建 编辑:程序博客网 时间:2024/05/13 22:39

原子类是不可分割的整体,没有其他线程能够中断或检查正在原子操作中的变量,可以在没有同步锁(sycchronized)情况下做到线程安全。

package demo;import java.util.concurrent.atomic.AtomicInteger;/** * Created by sunyifeng on 17/10/14. */public class AddThread extends Thread {    private AtomicInteger count = new AtomicInteger(0);    @Override    public void run() {        for (int i = 0; i < 10000; i++) {            System.out.println(count.incrementAndGet());        }    }}
package demo;/** * Created by sunyifeng on 17/10/14. */public class Run {    public static void main(String[] args) {        AddThread addThread = new AddThread();        //        Thread thread1 = new Thread(addThread);        thread1.start();        //        Thread thread2 = new Thread(addThread);        thread2.start();        //        Thread thread3 = new Thread(addThread);        thread3.start();        //        Thread thread4 = new Thread(addThread);        thread4.start();        //        Thread thread5 = new Thread(addThread);        thread5.start();    }}
运行结果:

......

49998
49999
50000