b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

forkjoinpool_forkjoinpool 线程数_forkjoinpool 原理(3)

电脑杂谈  发布时间:2017-04-10 15:01:06  来源:网络整理

上面那段构造函数的代码,我主要想看这里:

//initialize workers array with room for 2*parallelism if possible
 int n = parallelism << 1;
        if (n >= MAX_ID)
            n = MAX_ID;
        else { // See Hackers Delight, sec 3.2, where n < (1 << 16)
            n |= n >>> 1; n |= n >>> 2; n |= n >>> 4; n |= n >>> 8;
        }
 workers = new ForkJoinWorkerThread[n + 1];

这个并行化级别首先左移了1位,其实就是乘2了。源代码中有注释啊…尽量是2倍的线程数量。但是线程再多,也不能多过这个数:

private static final int  MAX_ID     = 0x7fff;  // max poolIndex

到这里可以看出ForkJoinPool的初始化就干了2个事情:

初始化了一个线程池ForkJoinWorkerThread[parallelism..]

初始化了一个任务队列submissionQueue[8]。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-40528-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 宁楠
      宁楠

      让所谓盟国有底气来对抗中国

    • 马建明
      马建明

      竟然还能当教授

    • 孙应钦
      孙应钦

      如同2楼这种贪生怕死的人多半会是汉奸

    热点图片
    拼命载入中...