问题:如何实例化ForkJoinPool

问题

如何实例化ForkJoinPool

答案

在Java8,获取ForkJoinPool实例最方便的方法是使用这个类的静态方法commonPool(),这个方法将会提供一个ForkJoinPool的引用,是ForkJoinTask默认的线程池.

使用预定义的线程池可以减少资源的消耗,因为它阻止为每个任务单独创建一个线程池.

ForkJoinPool commonPool = ForkJoinPool.commonPool();

在Java7,可以自己实例化一个ForkJoinPool,并将引用分配给一个工具类的静态成员变量.

public class ForkJoinPoolUtil {

    public static ForkJoinPool forkJoinPool = new ForkJoinPool(2);
}

访问静态成员变量:

ForkJoinPool forkJoinPool = ForkJoinPoolUtil.forkJoinPool;

使用ForkJoinPool构造器,可以创建一个自定义的线程池,我们可以指定线程池的并行等级,线程工厂,异常处理器。在上面的例子中,线程池的并行等级为2,这意味着线程池将使用2个处理器内核.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 10,532评论 0 23
  • 在这篇文章中,将覆盖如下内容: 什么是Fork/Join框架 工作窃取算法 Fork/Join框架的设计 Recu...
    打铁大师阅读 4,019评论 0 3
  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    小徐andorid阅读 7,830评论 3 53
  •   一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺...
    OmaiMoon阅读 5,631评论 0 12
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,430评论 11 349