线程池实现
时间: 2023-06-29 07:14:55 浏览: 76
线程池.zip,互斥锁+条件变量+队列,实现线程池,包括线程池的创建,塞任务,和销毁线程池
线程池是一种常见的多线程编程技术,它可以提高系统的并发性能和稳定性。线程池的基本思想是预先创建一些线程,然后将任务提交给线程池进行执行,避免了频繁创建和销毁线程的开销。
以下是一个简单的线程池实现:
```java
import java.util.concurrent.*;
public class ThreadPoolDemo {
public static void main(String[] args) {
// 创建线程池
ExecutorService executor = Executors.newFixedThreadPool(5);
// 提交任务
for (int i = 0; i < 10; i++) {
executor.submit(new Task(i));
}
// 关闭线程池
executor.shutdown();
}
static class Task implements Runnable {
private int id;
public Task(int id) {
this.id = id;
}
@Override
public void run() {
System.out.println("Task " + id + " is running.");
}
}
}
```
这个例子中,我们创建了一个固定大小的线程池,然后提交了10个任务。每个任务都是一个简单的Runnable对象,它只是打印一条消息。最后,我们关闭了线程池。
线程池的实现通常涉及到线程池管理器、任务队列、线程池工作者线程等多个组件,具体实现方式可以根据需求进行调整。
阅读全文