本帖最后由 知行 于 2013-6-14 22:57 编辑
- package com.heima.thread;
- public class ThreadSafe {
- /**
- * @param args
- */
- public static void main(String[] args) {
- //4)创建Tikets实例
- Tikets tk = new Tikets();
- //3) 创建线程实例
- Thread t1 = new Thread(tk,"线程1");
- Thread t2 = new Thread(tk,"线程2");
- Thread t3 = new Thread(tk,"线程3");
-
- //5)启动线程
- t1.start();
- t2.start();
- t3.start();
- }
- }
- //1)定义一个类并且实现Runnable接口
- class Tikets implements Runnable
- {
- int tiketsNum = 100;
- //2)复写run方法
- @Override
- public void run() {
- while(tiketsNum>0){
- System.out.println(Thread.currentThread().getName()+"卖出"+tiketsNum--);
- }
- }
-
- }
复制代码 帮我分析(结果)一下出现两个100的情况:
线程2卖出100
线程1卖出100
线程1卖出98
线程1卖出97
线程2卖出99
线程1卖出95
线程3卖出96
线程1卖出93
线程2卖出94
线程1卖出91
线程3卖出92
难道是System.out.println(Thread.currentThread().getName()+"卖出"+tiketsNum--);只是打印了而没有进行自减操作?
|