java多线程池工具类
时间: 2023-12-06 10:38:46 浏览: 61
Java提供了线程池来管理多线程,可以避免频繁创建和销毁线程的开销,提高程序的性能。Java标准库提供了ThreadPoolExecutor类来实现线程池。下面是一个简单的例子:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolDemo {
public static void main(String[] args) {
// 创建一个固定大小的线程池,大小为3
ExecutorService executor = Executors.newFixedThreadPool(3);
// 提交10个任务给线程池执行
for (int i = 0; i < 10; i++) {
executor.execute(new Runnable() {
@Override
public void run() {
System.out.println("Thread " + Thread.currentThread().getId() + " is running");
}
});
}
// 关闭线程池
executor.shutdown();
}
}
```
上面的代码创建了一个固定大小为3的线程池,然后提交了10个任务给线程池执行。每个任务都是一个Runnable对象,当线程池中有空闲线程时,会从任务队列中取出一个任务分配给该线程执行。当所有任务执行完毕后,需要调用shutdown()方法关闭线程池。
阅读全文