Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Java 线程同步之原子变量

为了完成线程同步,我们将使用原子变量来实现。AtomicInteger类存在于java.util.concurrent.atomic中,该类表示支持原子操作的整数,采用getAndIncrement方法以原子方法将当前的值递加。相关阅读:Java Hashtable多线程操作遍历问题 http://www.linuxidc.com/Linux/2013-01/78574.htmJava多线程顺序执行 http://www.linuxidc.com/Linux/2012-07/65033.htmJava多线程问题之同步器CyclicBarrier http://www.linuxidc.com/Linux/2012-07/64593.htmJava多线程之wait()和notify() http://www.linuxidc.com/Linux/2012-03/57067.htmJava多线程之synchronized http://www.linuxidc.com/Linux/2012-03/57068.htmJava多线程之并发锁 http://www.linuxidc.com/Linux/2012-03/57069.htm代码如下: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(); 
 
 }
}运行结果如下: 
 本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-05/101043.htm