import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class TicketBookingSystem {
private static int availableTickets = 10;
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(3);
for (int i = 1; i <= 5; i++) {
Runnable worker = new TicketBookingThread("Passenger " + i);
executorService.execute(worker);
}
executorService.shutdown();
}
static class TicketBookingThread implements Runnable {
private String passengerName;
public TicketBookingThread(String passengerName) {
this.passengerName = passengerName;
}
@Override
public void run() {
synchronized (TicketBookingSystem.class) {
if (availableTickets > 0) {
System.out.println(passengerName + " booked ticket " + availableTickets);
availableTickets--;
} else {
System.out.println(passengerName + " failed to book ticket.");
}
}
}
}
}
03-03
3437
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交