1. 首页
  2. IT资讯

Java自学 day23_多线程18(继承Thread类的方式卖电影票案例)笔记

多线程程序练习

  • 需求:某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口售票,请设计-一个程序模拟该电影院售票
  • 两种方式实现
                          继承Thread类
                          实现Runnable接口

 

含主方法的类SellTicketDemo:

复制代码
 1 public class SellTicketDemo {
 2 
 3     public static void main(String[] args) {
 4         //创建线程对象
 5         SellTicket st1=new SellTicket();
 6         SellTicket st2=new SellTicket();
 7         SellTicket st3=new SellTicket();
 8         
 9         //给线程对象起名字
10         st1.setName("窗口1");
11         st2.setName("窗口2");
12         st3.setName("窗口3");
13         
14         //启动线程
15         st1.start();
16         st2.start();
17         st3.start();
18 
19     }
20 
21 }
复制代码

自定义类SellTicket 继承Thread类

复制代码
 1 public class SellTicket extends Thread {
 2     // 为了让多个线程对象共享这个100张票,其实应该用静态修饰
 3     private static int ticket = 100;
 4 
 5     @Override
 6     public void run() {
 7         // int ticket=100;这样写每个线程进来都会走到这里,每个线程对象相当于买的是自己的那100张票,不合理,所以应该定义到外面
 8         // while(true)是为了模拟一直有票
 9         while (true) {
10             if (ticket > 0) {
11                 System.out.println(getName() + "正在出售第" + (ticket--) + "张票");
12             }
13         }
14 
15     }
16 }

本文来自投稿,不代表程序员编程网立场,如若转载,请注明出处:http://www.cxybcw.com/188866.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code