A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴清源 中级黑马   /  2013-10-8 21:11  /  1004 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

线程同步类,定义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


评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马