想吃苹果的蚂蚁的gravatar头像
想吃苹果的蚂蚁 2017-10-31 16:19:45

java多线程买票问题

自己写了一个多线程买票的实例,运行结果也对了,但是自己解释不了,谁能帮忙解释一下为什么结果会正确?

import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

public class Study9 {
	private static int[] arr={1,2,3,4,5,6,7,8,9,10};
	public static void main(String[] args) {
		ExecutorService executor=new ThreadPoolExecutor(5, 5, 0, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(10),
				new ThreadPoolExecutor.CallerRunsPolicy());
		
		for(int i=0;i<arr.length;i++){
			final int n=i;
			executor.execute(new Runnable() {
				
				@Override
				public void run() {
					System.out.println("窗口:"+Thread.currentThread().getName()+"卖出了票"+arr[n]);
				}
			});
		}
		
		executor.shutdown();
	}

}

java多线程买票问题

所有回答列表(1)
醉带蚂的gravatar头像
醉带蚂  LV3 2017年11月15日

线程运行速度过快。

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友