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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hbcoding 中级黑马   /  2015-11-18 11:23  /  508 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在学习毕向东老师的视频中,有如下买票的例子:

  1. class Ticket implements Runnable{
  2.         private int tick = 500;
  3.         Object o = new Object();
  4.         boolean flag = true;
  5.         public void run(){
  6.                
  7.                 while(true){
  8.                         synchronized(o){
  9.                   if(tick>0)
  10.                         System.out.println(Thread.currentThread().getName()+"one---"+tick--);
  11.                         }
  12.                 }
  13.                
  14.                
  15.                
  16.         }       
  17. }
  18. public class TicketDemo2{
  19.         public static void main(String[] args){
  20.                 Ticket t = new Ticket();
  21.                 Thread t1 = new Thread(t);       
  22.                 Thread t2 = new Thread(t);
  23.                 Thread t3 = new Thread(t);
  24.                 Thread t4 = new Thread(t);
  25.                 t1.start();
  26.                 t2.start();
  27.                 t3.start();
  28.                 t4.start();
  29.         }
  30. }
复制代码

上面例子中的票数tick的值为什么最大只能是299,如果设置的值大于299,运行的时候也会从299开始递减。上例程序运行结果如下图:
J:\hh.png

1 个回复

倒序浏览
图片没有上传成功
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马