1 个回答
在java队列里面,向线程池放任务的时候使用的顺序如下:
从上诉的代码可以看出,每次for循环向消息队列放入的job数大于队列数,接着就要使用最大线程数,此时最大线程数和核心线程数是一致的,所以就会出现RejectedExecutionException。这里我们可以把arrayBlockingQueue修改为无界的LinkedBlockingQueue
1、首先使用核心线程数
2、接着使用消息队列数
3、接着使用最大线程数
从上诉的代码可以看出,每次for循环向消息队列放入的job数大于队列数,接着就要使用最大线程数,此时最大线程数和核心线程数是一致的,所以就会出现RejectedExecutionException。这里我们可以把arrayBlockingQueue修改为无界的LinkedBlockingQueue
发布于:8个月前 (04-01) IP属地:四川省
我来回答
您需要 登录 后回答此问题!