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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fmi110 高级黑马   /  2015-9-10 16:43  /  732 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

a
  1. /**
  2. * 需求:设计一个电影售票程序,共一百张票,有三个售票窗口
  3. *
  4. */

  5. package test;

  6. public class SellTicket {

  7.         /**
  8.          * @param args
  9.          */
  10.         public static void main(String[] args) {
  11.                 // TODO Auto-generated method stub
  12.                 method1();
  13. //                method2();
  14.         }
  15.         //方式二:继承模式实现
  16.         private static void method2() {
  17.                 // TODO Auto-generated method stub
  18.                 Thread t1 = new Thread(new Ticket(),"widow 1");
  19.                 System.out.println("t1的名字:"+t1.getName());
  20.                 t1.start(); //启动窗口1
  21. //                System.out.println(Thread.currentThread().getName());
  22.                 new Thread(new Ticket(),"widow 2").start();//启动窗口2
  23.                 new Thread(new Ticket(),"widow 3").start();//启动窗口3
  24.                
  25.         }
  26.         //方式一:继承方式
  27.         public static void method1(){
  28.                 //创建对象
  29.                 Ticket t1 = new Ticket("window 1");
  30.                 Ticket t2 = new Ticket("window 2");
  31.                 Ticket t3 = new Ticket("window 3");
  32.                 //启动线程
  33.                 t1.start();
  34.                 t2.start();
  35.                 t3.start();
  36.                
  37.         }
  38.        
  39. }
复制代码


3 个回复

倒序浏览
  1. package test;
  2. /**
  3. *        自定义线程:有100张票,实现售票行为,继承方式实现
  4. */
  5. class Ticket extends Thread{
  6.         private static int ticketNumber = 100;//设定初始票数   共享数据 static修饰

  7.         public Ticket() {
  8.                 super();
  9.         }
  10.        
  11.         public Ticket(String name){
  12.                 super(name);
  13.         }
  14.         //定义售票行为,重写run
  15.         public void run(){
  16.                 while(true){
  17.                         if(ticketNumber > 0){
  18.                                 System.out.println("当前余票:"+(ticketNumber--)+"..."+this.getName());
  19.                         }
  20.                         else{
  21.                                 System.out.println(this.getName()+":对不起,票已经卖光了,欢迎下次光临!!");
  22.                                 break;
  23.                         }
  24.                 }
  25.         }
  26. }
  27. //创建线程类,实现接口方式
  28. class Ticeket1 implements Runnable{
  29.         private static int ticketNumber = 100;//设定初始票数 共享数据 static修饰
  30.         @Override
  31.         public void run() {
  32.                 // TODO Auto-generated method stub
  33.                 while(true){
  34.                         if(ticketNumber > 0){
  35.                                 System.out.println("当前余票:"+(ticketNumber--)+"..."+Thread.currentThread().getName());
  36.                         }
  37.                         else{
  38.                                 System.out.println(Thread.currentThread().getName()+":对不起,票已经卖光了,欢迎下次光临!!");
  39.                                 break;
  40.                         }
  41.                 }
  42.         }
  43.        
  44. }
复制代码
回复 使用道具 举报
nice,赞一下
回复 使用道具 举报
66666666666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马