JDK 里面的自带的线程池为啥都不改一下实现? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huntcool001
V2EX    Java

JDK 里面的自带的线程池为啥都不改一下实现?

  •  1
     
  •   huntcool001 2020-09-25 18:50:39 +08:00 3731 次点击
    这是一个创建于 1925 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT, 说的就是 Executors.newFixedThreadPool()的那几个实现.

    要么就是队列是无界的(newFixedThreadPool,newSingleThreadExecutor)

    要么就是线程池数量没有上限(newCachedThreadPool)

    结果就是生产里大家基本都不会用 Executors 里的这几个实现,不然挺容易内存爆掉 估计不少人都遇到过这个问题.所以阿里的规范里要求都是自己用 ThreadPoolExecutor 实现一个,放一个有界队列进去.

    我的问题就是,为啥 JDK 的维护者不多加个构造函数,允许指定队列上限的?

    比如说 Executors.newFixedThreadPool(int queueCapcity)

    13 条回复    2020-09-29 17:50:53 +08:00
    smallyu
        1
    smallyu  
       2020-09-25 18:56:11 +08:00
    ?
    codebigbang
        2
    codebigbang  
       2020-09-25 19:02:05 +08:00 via Android
    因为开发者要保证方法适用于大部分人,有特殊需求的可以按照源码自己修改
    EminemW
        3
    EminemW  
       2020-09-25 22:45:56 +08:00
    ?怎么我的线程池可以传最大线程数
    hodur
        4
    hodur  
       2020-09-26 09:36:10 +08:00
    LinkedBlockingQueue 是无界的吗
    anthow
        5
    anthow  
       2020-09-26 10:56:14 +08:00
    方便啊
    youxiachai
        6
    youxiachai  
       2020-09-26 11:02:32 +08:00
    LinkedBlockingQueue 我白用了?
    youxiachai
        7
    youxiachai  
       2020-09-26 11:07:54 +08:00
    难怪我看起来这么怪....
    Executors.newFixedThreadPool(int queueCapcity)
    原来是 android 才支持?
    youxiachai
        8
    youxiachai  
       2020-09-26 11:09:25 +08:00
    看错了..忽略..应该有才对啊.... lz 用的 jdk 版本是多少,为啥会没有..
    xiaofan2
        9
    xiaofan2  
       2020-09-26 16:44:18 +08:00
    lz 的无界的意思是如何不传参数默认的参数是 Integer.MAX_VALUE 吧
    wysnylc
        10
    wysnylc  
       2020-09-27 10:13:50 +08:00
    Executors.newWorkStealingPool(200)
    记得经常更新下自己的 jdk 和技术
    huntcool001
        11
    huntcool001  
    OP
       2020-09-27 14:09:50 +08:00
    @youxiachai

    https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/concurrent/Executors.html

    JDK15 的文档, 没有 Executors.newFixedThreadPool(int queueCapcity)
    zhady009
        12
    zhady009  
       2020-09-27 19:11:21 +08:00
    @wysnylc 这个 api 的入参不是队列容量吧
    mightofcode
        13
    mightofcode  
       2020-09-29 17:50:53 +08:00
    可能因为太懒了吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2359 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 04:44 PVG 12:44 LAX 20:44 JFK 23:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86