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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张聪珉 中级黑马   /  2013-8-4 23:59  /  1246 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-8-5 18:37 编辑

请看图,求解啊!!

QQ图片20130804235832.jpg (70.7 KB, 下载次数: 6)

QQ图片20130804235832.jpg

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

3 个回复

倒序浏览
  1. class Ticket extends Thread
  2. {
  3.         private int tick = 100;//为什么这里static之后就变成只卖100张票而不是400张票啊?
  4.         public void run()
  5.         {
  6.                 while(true)
  7.                 {
  8.                         if(tick>0)
  9.                                 {
  10.                                         System.out.println(Thread.currentThread().getName()+"....sale : "+ tick--);
  11.                                 }
  12.                 }
  13.         }
  14. }


  15. class TicketDemo
  16. {
  17.         public static void main(String[] args)
  18.         {

  19.                 Ticket t = new Ticket();

  20.                 Thread t1 = new Thread(t);
  21.                 Thread t2 = new Thread(t);
  22.                 Thread t3 = new Thread(t);
  23.                 Thread t4 = new Thread(t);
  24.                 t1.start();
  25.                 t2.start();
  26.                 t3.start();
  27.                 t4.start();
  28.         }
  29. }
复制代码
回复 使用道具 举报
楼主!

被static修饰的属于共享数据。就买票这个经典线程例子,static修饰了卖的票数,意思就是4个窗口一起卖100张票。

如果票数没有被static修饰,那么每创建一个对象,那么每个对象就有100张票,相当于每个窗口卖100张票,4个就400张票。

与你一同学习!{:soso_e141:}

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
王松松 发表于 2013-8-5 00:05
楼主!

被static修饰的属于共享数据。就买票这个经典线程例子,static修饰了卖的票数,意思就是4个窗口一 ...

嗯,看懂了,谢谢哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马