黑马程序员技术交流社区
标题:
黑马测试题多线程模拟售票窗口案列
[打印本页]
作者:
没说的话……
时间:
2014-12-14 20:50
标题:
黑马测试题多线程模拟售票窗口案列
public class SellTicketDemo {
public static void main(String[] args) {
// 创建三个线程对象
SellTicket st1 = new SellTicket();
SellTicket st2 = new SellTicket();
SellTicket st3 = new SellTicket();
// 给线程对象起名字
st1.setName("窗口1");
st2.setName("窗口2");
st3.setName("窗口3");
// 启动线程
st1.start();
st2.start();
st3.start();
}
}public class SellTicket extends Thread {
// 定义100张票
// private int tickets = 100;
// 为了让多个线程对象共享这100张票,我们其实应该用静态修饰
private static int tickets = 100;
@Override
public void run() {
// 定义100张票
// 每个线程进来都会走这里,这样的话,每个线程对象相当于买的是自己的那100张票,这不合理,所以应该定义到外面
// int tickets = 100;
// 是为了模拟一直有票
while (true) {
if (tickets > 0) {
System.out.println(getName() + "正在出售第" + (tickets--) + "张票");
}
}
}
}
作者:
I空空
时间:
2014-12-14 21:32
你这是想表达什么呢。创建线程的两种方式,一种是通过继承Thread,这种方式不可以资源共享,而且还不能继承其他类。一般都用实现Runnable接口的方式,这样既可以继承其他类
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2