ExecutorService exec线程池限制线程数量
时间: 2023-05-30 20:03:02 浏览: 192
ExecutorService线程池
ExecutorService可以通过ThreadPoolExecutor来创建线程池,其中可以设置核心线程数、最大线程数、等待队列大小等参数来限制线程数量。
例如,以下代码创建了一个线程池,其中核心线程数为5,最大线程数为10,等待队列大小为100:
```java
ExecutorService exec = new ThreadPoolExecutor(5, 10, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(100));
```
这个线程池最多只能同时运行10个线程,超过10个线程的任务会被放入等待队列中,等待队列满了之后再创建新的线程,直到达到最大线程数为止。如果等待队列和最大线程数都满了,新的任务就会被拒绝执行。
阅读全文