概述
import work.Person;
/**
* 使用多线程的方式来模拟多个窗口买票
要求销售100张火车票,要求有4个窗口来进行销售, 请编写多线程程序来模拟这个效果
* @author MECHREVO
*
*/
public class WorkSell extends Thread{
public WorkSell() {
}
public WorkSell(String name) {
super(name);
}
static WorkSell s1 = new WorkSell();
//定义票数为静态变量,所有对象共用一个
public static int i=100;
@Override
public void run() {
while(true) {
//加锁实现线程同步
synchronized (s1) {
if(i>0) {
System.out.println(getName()+":正在售卖第---->"+(i--)+"张票");
try {
sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
System.err.println(getName()+"票已经售完!!!");
break;
}
}
}
}
}
主函数
public class WorkTest {
private WorkSell work;
public static void main(String[] args) {
WorkSell w1 = new WorkSell("窗口1");
WorkSell w2 = new WorkSell("窗口2");
WorkSell w3 = new WorkSell("窗口3");
WorkSell w4 = new WorkSell("窗口4");
w2.start();
w3.start();
w4.start();
w1.start();
}
}
最后
以上就是文艺心锁为你收集整理的线程Thread练习题1买票,使用多线程的方式模拟四个窗口卖100张票的全部内容,希望文章能够帮你解决线程Thread练习题1买票,使用多线程的方式模拟四个窗口卖100张票所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复