Java自学 day23_多线程18(继承Thread类的方式卖…

2020-03-19 16:07:00来源:博客园 阅读 ()

容器云强势上线!快速搭建集群,上万Linux镜像随意使用 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 }

 



 


原文链接:https://www.cnblogs.com/htbht2000/p/12525154.html
如有疑问请与原作者联系

标签:定义对象nameAV共享Class

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Quartz入门 (六) Cluster集群

下一篇:LCN解决分布式事务原理解析+项目实战(原创精华版)