1、售票程序V1
public classTicketSoldV1 {public static voidmain(String[] args) {
TicketWindowV1 r1= newTicketWindowV1();
TicketWindowV1 r2= newTicketWindowV1();
TicketWindowV1 r3= newTicketWindowV1();new Thread(r1, "A窗口").start(); //启动三个线程窗口
new Thread(r2, "B窗口").start();new Thread(r3, "C窗口").start();
}
}class TicketWindowV1 implementsRunnable {private static int ticketNumber = 100; //静态变量,所有售票窗口共享该
public voidrun() {
System.out.println(Thread.currentThread().getName()+ "线程开始运行...");while(true) { //循环卖票
if(ticketNumber > 0) {//打印所卖票的票号
System.out.println(Thread.currentThread().getName() + ":" +ticketNumber);
ticketNumber--;
}else{break;
}
}
System.out.println(Thread.currentThread().getName()+ "线程结束运行...");
}
}
View Code
上述程序运行结果如下所示:
A窗口线程开始运行...
C窗口线程开始运行...
B窗口线程开始运行...
B窗口:100C窗口:100A窗口:100A窗口:97A窗口:96C窗口:98B窗口:99C窗口:94A窗口:95C窗口:92B窗口:93B窗口:89C窗口:90A窗口:91C窗口:87B窗口:88C窗口:85A窗口:86C窗口:83B窗口:84B窗口:80C窗口:81A窗口:82A窗口:77C窗口:78B窗口:79B窗口:74B窗口:73C窗口:75A窗口:76C窗口:71B窗口:72B窗口:68C窗口:69A窗口:70C窗口:66B窗口:67C窗口:64A窗口:65A窗口:61A窗口:60C窗口:62B窗口:63B窗口:57C窗口:58A窗口:59C窗口:55B窗口:56C窗口:53A窗口:54A窗口:50C窗口:51B窗口:52C窗口:48A窗口:49C窗口:46B窗口:47C窗口:44A窗口:45C窗口:42B窗口:43C窗口:40A窗口:41C窗口:38B窗口:39C窗口:36A窗口:37C窗口:34B窗口:35C窗口:32A窗口:33C窗口:30B窗口:31C窗口:28A窗口:29C窗口:26B窗口:27C窗口:24A窗口:25C窗口:22B窗口:23C窗口:20A窗口:21C窗口:18B窗口:19C窗口:16A窗口:17C窗口&#