使用Java实现一个动态线程池
时间: 2023-03-12 13:19:53 浏览: 120
java 线程池实现
可以使用Java的Executor框架来实现动态线程池。可以使用ThreadPoolExecutor类来创建线程池。可以设置核心线程数、最大线程数、线程存活时间等参数。
示例代码:
```
int corePoolSize = 5;
int maximumPoolSize = 10;
long keepAliveTime = 5000;
TimeUnit unit = TimeUnit.MILLISECONDS;
BlockingQueue<Runnable> workQueue = new ArrayBlockingQueue<Runnable>(5);
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue);
```
您可以使用threadPool.execute(Runnable)来向线程池中提交任务。
另外,您还可以使用Executors类中的静态方法newCachedThreadPool()或newFixedThreadPool(int)来创建线程池,这样可以避免手动设置参数的麻烦。
示例代码:
```
Executor executor = Executors.newCachedThreadPool();
```
如果使用Executors来创建线程池,可能需要手动终止线程池,可以使用shutdown()方法。
```
Executor.shutdown();
```
阅读全文