public class TicketTout implements Runnable {
@Override
public void run() {
String name = Thread.currentThread().getName();
System.out.println(name + ": 正在霸占窗口抢票中");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(name + ":抢票结束准备跑路...");
}
}
public class ExecutorsTest_1 {
public static void main(String[] args) {
/**
* newFixedThreadPoll
* 创建一个固定长度的线程池,当达到线程最大数量时,线程池的规模将不再变化
*/
//假设开了6个窗口
ExecutorService service = Executors.newFixedThreadPool(6);
//十个人买票
for (int i = 0; i < 10; i++) {
service.execute(new TicketTout()); //启动线程
}
//shutdown方法--所有人买完票之后关闭窗口下班
//shutdownNow方法--不管你是正在买还是在排队,所有窗口立即关闭不卖了
//不调用shutdown --当前人买完票之后继续开着窗口不下班
service.shutdown();
}
}
本人小白一个,有修改的地方,请多多提议