大家好,这是一个冰川~~
在Java的高频率领域中,线程池一直是不可避免的主题。一些儿童鞋一直在使用线程池,但是对于如何仅在使用执行者工具类的方式中创建线程池,什么是创建线程池的方法?让我们从创建线程池创建线程池的源代码中分析线程池。
创建线程池时,最初的初学者使用执行者的工具类,并且在使用此工具类创建线程池时非常简单。ESSENCETHENE执行器工具类提供了几种用于创建线程池的方法,如下所示。
其中,执行者。新工作史密斯泵方法是一种在Java 8中创建线程池的新方法。它可以为线程池设置并行量的并行级别,并具有更高的并发和性能。在此方法中,其他方法创建线程池的其他方法基本上是调用ThreadPoolExecutor的结构方法。
例如,我们可以使用以下代码创建线程池。
从代码结构的角度来看,ThreadPoocutor类从AbstractexeCutorService继承。
由于执行器工具类中的大多数线程池的创建是TreadPooleXecutor类的构造函数,因此我们还可以直接调用TreadPoolExecutor类的构造函数,以创建一个线程池而无需使用执行器工具。Next,让我们来看看ThreadPoolExecutor类的构造函数。
ThreadPoolExecutor类中的所有构造方法如下所示。
可以看出,线程池的最终调用的构造函数如下。
关于每个参数在此构造函数中的含义和作用,您可以移动“高和激情 - 我不得不说的线池和ThreadPoolExecutor中的线程池”。
您可以调用ThreadPoolExecutor类的结构方法来创建一个线程池。例如,我们可以在以下形式中创建一个线程池。
在Java8的执行器工具类中,添加了以下创建线程池的方法。
从源代码中,它实际上称为构造方法类,以创建forkjoinpool类的线程池。从代码结构的角度来看,forkjoinpool类继承了atractionxecutorService.next的抽象,让我们看一下forkjoinpool类的构造函数。
查看源代码后,我们知道forkjoinpool的构建方法是以下私人结构。
其中,每个参数的含义如下所示。
当然,尽管私有结构方法是具有最多参数的方法,但它不会直接直接外部方法。我们可以使用以下方法来创建线程池。
有以下方法可以在执行者工具类中创建线程池。
从源代码的角度来看,这些方法实际上称为“计划threadpoolexecutor类”的构造函数。
从代码结构的角度来看,ScheduledThreadPoolExecutor类从ThreadPoolExecutor类继承。本质上,仍然调用了ThreadPoolExecutor类的构造函数,但是此时通过的队列是delayedworkqueue。我们可以直接调用ScheduledThreadPoolExecutor类的构造方法来创建线程池,例如以下形式创建线程池。
好吧,让我们今天到达这里,我是个冰川,我们下次会看到~~
原始:https://juejin.cn/post/7101855019565056031