多线程模拟卖票过程并打印剩余电影票的数量 Myth丶恋晨 2022-05-31 00:07 235阅读 0赞 //主程序,调用线程 package pxyhomeworkday11; /\*第一题:分析以下需求,并用代码实现 一共有100张电影票,可以在两个窗口领取,假设每次领取的时间为100毫秒, 要求:请用多线程模拟卖票过程并打印剩余电影票的数量 打印格式:窗口1领取电影票,还剩99张。 窗口2领取电影票,还剩98张 ... 窗口2领取电影票,还剩0张。\*/ public class test1 \{ public static void main(String\[\] args) \{ TicketThread tt=new TicketThread(); Thread t=new Thread(tt); t.setName("窗口1"); Thread t2=new Thread(tt); t2.setName("窗口2"); t.start(); t2.start(); \} \} //创建新的执行线程 package pxyhomeworkday11; public class TicketThread implements Runnable\{ int tickets=100;//电影票数量 @Override public void run() \{ // 重写方法,出售电影票 while(true)\{ method(); \} \} private synchronized void method() \{ if(tickets>0)\{ try \{ Thread.sleep(100); \} catch (InterruptedException e) \{ // TODO Auto-generated catch block e.printStackTrace(); \} System.out.println(Thread.currentThread().getName()+"领取电影票,还剩"+(tickets--)+"张。"); \} \} \}
还没有评论,来说两句吧...