黑马程序员技术交流社区
标题:
火车票卖票升级版~多线程
[打印本页]
作者:
奕明传媒
时间:
2016-10-19 01:02
标题:
火车票卖票升级版~多线程
现有火车票100张,分别用四个窗口来卖,卖到最后一张提示卖完了,大家都是怎么写出来的?
作者:
清风小雨
时间:
2016-10-19 18:29
class MyThread implements Runnable{
private int ticket = 5 ; // 假设一共有5张票
public void run(){
for(int i=0;i<100;i++){
this.sale() ; // 调用同步方法
}
}
public synchronized void sale(){ // 声明同步方法
if(ticket>0){ // 还有票
try{
Thread.sleep(300) ; // 加入延迟
}catch(InterruptedException e){
e.printStackTrace() ;
}
System.out.println("卖票:ticket = " + ticket-- );
}
}
};
public class SyncDemo03{
public static void main(String args[]){
MyThread mt = new MyThread() ; // 定义线程对象
Thread t1 = new Thread(mt,"窗口1") ; // 定义Thread对象
Thread t2 = new Thread(mt,"窗口2") ; // 定义Thread对象
Thread t3 = new Thread(mt,"窗口3") ; // 定义Thread对象
t1.start() ;
t2.start() ;
t3.start() ;
}
};
作者:
清风小雨
时间:
2016-10-19 18:33
其他一些比较复杂的程序,都是通过最基础的实现,然后再抽取出来做复杂的操作,希望能帮到你
作者:
奕明传媒
时间:
2016-10-19 18:36
清风小雨 发表于 2016-10-19 18:33
其他一些比较复杂的程序,都是通过最基础的实现,然后再抽取出来做复杂的操作,希望能帮到你 ...
好,谢谢啦
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2