Java线程模仿电影院买票
来源:互联网 发布:云计算行业大事件 编辑:程序博客网 时间:2024/04/30 08:34
模拟唐僧师徒4人买电影票。电影票10元一张,唐僧拿着一张50元的、孙悟空那和 猪八戒都拿着一张20的、 沙僧拿着一张10元的。此时售票员手中只有一个10元的。 模拟他们4个人买票。
package com.wxh.day1015;//唐僧 50 孙悟空 20 八戒 20 沙僧10//售票员 10//电影票10块一张public class Demo2 {public static void main(String[] args) {SThread st=new SThread();new Thread(st,"唐僧").start();new Thread(st,"孙悟空").start();new Thread(st,"八戒").start();new Thread(st,"沙僧").start();}}class SThread implements Runnable{private int tenCount=1;private int twentyCount=0;public void run() {if(Thread.currentThread().getName().equals("唐僧")){sell(50);}else if(Thread.currentThread().getName().equals("孙悟空")){sell(20);}else if(Thread.currentThread().getName().equals("八戒")){sell(20);}else if(Thread.currentThread().getName().equals("沙僧")){sell(10);}}private synchronized void sell(int i) {if(i==10){tenCount++;System.out.println(Thread.currentThread().getName()+"拿来了一张10圆的,买了一张电影票");notifyAll();}else if(i==20){while(tenCount<1){System.out.println(Thread.currentThread().getName()+"拿来了一张20圆的,售票员找不开,在旁边等着。");try {wait();} catch (InterruptedException e) {e.printStackTrace();}}tenCount--;twentyCount++;System.out.println(Thread.currentThread().getName()+"拿来一张20圆的,买了一张电影票,找回10圆");notifyAll();}else if(i==50){while(tenCount*10+twentyCount*20<40){System.out.println(Thread.currentThread().getName()+"拿了一张50的,售票员找不开,在旁边等着");try {wait();} catch (InterruptedException e) {e.printStackTrace();}}twentyCount-=2;System.out.println(Thread.currentThread().getName()+"拿了一张50的,买了一张电影票,找回2张20的");notifyAll();}try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}
0 0
- Java线程模仿电影院买票
- 电影院买票问题->排队找钱
- 模仿电影院座位预定效果
- 模仿java线程池
- oc编程:电影院买票系统2-----代码实现
- Java之多线程AtomicInteger (多人买票) -yellowcong
- 线程 买票的例子
- 线程---买票问题
- 电影院
- java 简单买票系统
- 线程一-------经典案例买票
- Android线程—买票demo
- 黑那程序员——OC实战——电影院买票系统
- 多线程买票拉-java
- java多线程--买票(ticket)实验
- java多线程买票,同步锁
- java多线程简单项目--电影院售票机
- java 多线程 实现窗口买票功能
- 整个互联网等于一只草莓
- java里的Rondom类
- #include与前置声明
- 关于java中怎么终止一个线程的执行
- 161015
- Java线程模仿电影院买票
- 吞噬世界的软件
- Tab导航栏的实现方式之二 :RadioGroup+RadioButton+Fragment
- 自动生成随机数测试归并排序
- 脸谱后面的脸
- Java中数字签名RSASignature 算法的使用
- 前面不能有空格
- 走进谷歌的秘密世界
- SpringMVC——接收请求参数和页面传参