Java 线程同步之原子变量

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

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

相关阅读:

Java Hashtable多线程操作遍历问题

Java多线程顺序执行

Java多线程问题之同步器CyclicBarrier

Java多线程之wait()和notify()

Java多线程之synchronized

Java多线程之并发锁

代码如下

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(); 
 
 }
}

运行结果如下:

Java 线程同步之原子变量

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/4fd9be5536840b063b76f17ec0b416c9.html