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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© boboyuwu 高级黑马   /  2015-8-31 15:38  /  250 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package ticketDemo;


class ticket implements Runnable{
        private int count=100;
        public void run(){
                while(count>0){
                 
                        System.out.println(Thread.currentThread().getName()+"卖出票"+count--);
                       
                }
       
        }
       
}



public class ticketDemo {

        public static void main(String[] args){
               
                   ticket t=new ticket();
                  Thread thread1=new Thread(t,"线程1");
                  Thread thread2=new Thread(t,"线程2");
                  thread1.start();
                  thread2.start();
        }
         
          
        }


输出的一次结果:线程1卖出票100
线程1卖出票99
线程1卖出票98
线程1卖出票97
线程1卖出票96
线程2卖出票100
线程2卖出票94
线程2卖出票93
线程2卖出票92
线程2卖出票91
线程2卖出票90
线程2卖出票89
线程2卖出票88
线程2卖出票87
线程2卖出票86
线程2卖出票85
线程2卖出票84
线程2卖出票83
线程2卖出票82
线程2卖出票81
线程2卖出票80
线程2卖出票79
线程2卖出票78
线程2卖出票77
线程2卖出票76
线程2卖出票75
线程2卖出票74
线程2卖出票73
线程2卖出票72
线程2卖出票71
线程2卖出票70

2 个回复

倒序浏览
出现2次售出100  我在想就算一个线程在system 那卡主了  ,当第二个线程执行一次count--输出100的时候那么就算第一个线程被唤醒count也会变成99不是,为什么会输出二个100呢
回复 使用道具 举报
本帖最后由 boboyuwu 于 2015-8-31 16:34 编辑

来大神哟  这个问题很值得思考
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马