为了完成线程同步,我们将使用原子变量来实现。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;
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < nCount; i++) {
try {
Thread.sleep(1);
} catch (InterruptedException e) {
// TODO: handle exception
e.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();
}
}
运行结果如下: