lz 你好
具体代码如下:
public class SellTickets{
public static void main (String[] args) {
new SellWindow().start();
new SellWindow().start();
new SellWindow().start();
new SellWindow().start();
}
}
class SellWindow extends Thread{
private static int ticket = 8;
private static Object o = new Object();
public void run(){
while(true){
synchronized (o){
if(ticket > 0){
try {
Thread.sleep(10);
}
catch (Exception ex) {
}
ticket--;
System.out.println (getName() + " sell " + "Tickets_" + (8-ticket));
}
else{
break;
}
}
}
}
}
运行结果(由于票数很少 所以可能只有线程0就能售完):
Thread-0 sell Tickets_1
Thread-0 sell Tickets_2
Thread-0 sell Tickets_3
Thread-3 sell Tickets_4
Thread-3 sell Tickets_5
Thread-3 sell Tickets_6
Thread-3 sell Tickets_7
Thread-3 sell Tickets_8
ps:多运行几次 结果会不一样
希望能帮助你哈
(不懂得继续追问)