黑马程序员技术交流社区

标题: 使用AtomicInteger实现线程同步 [打印本页]

作者: 吴清源    时间: 2013-10-8 21:11
标题: 使用AtomicInteger实现线程同步
线程同步类,定义AtomicInteger原子变量,实现线程同步
  1. import java.util.concurrent.atomic.AtomicInteger;

  2. public class AtomicIntegerDemo implements Runnable {
  3.    
  4.     private AtomicInteger number = new AtomicInteger(0);// 创建一个AtomicInteger类型变量进行测试
  5.    
  6.     @Override
  7.     public void run() {
  8.         for (int i = 0; i < 5; i++) {
  9.             try {
  10.                 Thread.sleep(100);// 线程休眠0.1秒增加出错几率
  11.             } catch (InterruptedException e) {
  12.                 e.printStackTrace();
  13.             }
  14.             // 输出当前线程的名称和number的值,每次循环之后number的值都会加一
  15.             System.out.println(Thread.currentThread().getName() + ": "
  16.                     + number.getAndIncrement());
  17.         }
  18.     }
  19.    
  20.     public static void main(String[] args) {
  21.         AtomicIntegerDemo run = new AtomicIntegerDemo();// 获得AtomicIntegerDemo对象
  22.         Thread thread1 = new Thread(run);// 创建线程1
  23.         Thread thread2 = new Thread(run);// 创建线程2
  24.         thread1.start();// 运行线程1
  25.         thread2.start();// 运行线程2
  26.     }
  27. }
复制代码
运行结果:
Thread-0: 0
Thread-1: 1
Thread-0: 2
Thread-1: 3
Thread-1: 4
Thread-0: 5
Thread-1: 6
Thread-0: 7
Thread-1: 8
Thread-0: 9







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2