Java 线程同步之原子变量

来源:互联网 发布:js下拉菜单视频教程 编辑:程序博客网 时间:2024/06/05 16:34

为了完成线程同步,我们将使用原子变量来实现。AtomicInteger类存在于java.util.concurrent.atomic中,

该类表示支持原子操作的整数,采用getAndIncrement方法以原子方法将当前的值递加。

代码如下:

package com.android.test;import java.util.concurrent.atomic.AtomicInteger;//使用原子变量实现线程同步public class AtomiclntergerDemo implements Runnable{// 定义原子变量private AtomicInteger number = new AtomicInteger(0);private static final int nCount = 5;@Overridepublic void run() {// TODO Auto-generated method stubfor (int i = 0; i < nCount; i++) {try {Thread.sleep(1);} catch (InterruptedException e) {// TODO: handle exceptione.printStackTrace();}// getAndIncrement变量以原子的方式递加System.out.println(Thread.currentThread().getName() + ":" + number.getAndIncrement());}}public static void main(String []args){AtomiclntergerDemo run = new AtomiclntergerDemo();// 创建两个线程Thread thread1 = new Thread(run);Thread thread2 = new Thread(run);thread1.start();thread2.start();}}

运行结果如下:




0 0