如何应用JAVA多线程完成模拟三个窗口卖100张票功能,使3个窗口能够共享100张票,
package com.todod;
import org.junit.Test;
import java.util.Scanner;
public class ThreadChi {
@Test
public static void main(String[] args) {
System.out.println("输入总票数:");
Ticket ticket = new Ticket();
System.out.println("窗口数:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
for (; i > 0; i--) {
Thread t = new Thread(ticket, "窗口"+i);
t.start();
}
}
}
class Ticket implements Runnable {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
@Override
public void run() {
while (a>0) {
synchronized (Ticket.class) {
try {
if (a > 0) {
System.out.println(Thread.currentThread().getName() + "正在出售1张票还剩:" + (--a) + "张票");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}