java线程池解析
Java中的线程池可以通过Executor
, ExecutorService
接口及其实现类(如ThreadPoolExecutor
和Executors
工厂类)来创建和管理。
以下是一个创建和使用线程池的简单示例:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建一个固定大小的线程池
ExecutorService executorService = Executors.newFixedThreadPool(4);
// 提交任务到线程池执行
for (int i = 0; i < 10; i++) {
executorService.execute(new RunnableTask());
}
// 关闭线程池,以优雅的方式
executorService.shutdown();
}
static class RunnableTask implements Runnable {
@Override
public void run() {
// 执行任务的代码
System.out.println("Task executed on thread: " + Thread.currentThread().getName());
}
}
}
在这个例子中,我们创建了一个固定大小的线程池,该池有4个线程。然后我们提交了10个简单的任务,每个任务都实现了Runnable
接口。最后,当不再需要线程池时,我们通过调用shutdown()
方法来关闭它。
这只是线程池使用的一个基本示例,实际使用时可以根据需要配置不同的线程池策略,如超时、拒绝策略等。
评论已关闭