admin 管理员组

文章数量: 1086019


2024年3月29日发(作者:ospf type1和2区别)

java11的线程池写法

在Java 11中,线程池的写法可以通过使用`Executors`工厂类

来创建不同类型的线程池。下面我将介绍一些常见的线程池写法。

1. 创建固定大小的线程池:

java.

ExecutorService executor =

edThreadPool(5);

这将创建一个固定大小为5的线程池,线程池中的线程数量始

终保持不变,当有新任务提交时,如果线程池中有空闲线程,则立

即执行,如果没有,则新任务会被暂存在一个任务队列中,待有线

程空闲时再执行。

2. 创建单线程的线程池:

java.

ExecutorService executor =

gleThreadExecutor();

这将创建一个只有一个工作线程的线程池,所有任务按照它们

被提交的顺序依次执行。

3. 创建可缓存的线程池:

java.

ExecutorService executor =

hedThreadPool();

这将创建一个可根据需要创建新线程的线程池,而且在先前构

建的线程可用时将重用它们。如果线程在60秒内未被使用,则将终

止并从缓存中移除。

4. 创建定时执行任务的线程池:

java.

ScheduledExecutorService executor =

eduledThreadPool(3);

这将创建一个定时执行任务的线程池,可以在给定的延迟之后

或者周期性执行任务。

在使用完线程池后,需要调用`shutdown()`方法来关闭线程池:

java.

wn();

这将拒绝新任务的提交,等待已经提交的任务执行完成(包括

等待队列中的任务),并且不接受新的任务。

以上是在Java 11中常见的线程池写法,通过选择合适的线程

池类型,可以更好地满足不同场景下的需求。


本文标签: 线程 任务 执行 创建 提交