跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • JDK 里面的自带的线程池为啥都不改一下实现?
未分類
15 9 月 2020

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

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

資深大佬 : huntcool001 5

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

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

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

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

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

比如说 Executors.newFixedThreadPool(int queueCapcity)

大佬有話說 (12)

  • 資深大佬 : smallyu

    ?

  • 資深大佬 : codebigbang

    因为开发者要保证方法适用于大部分人,有特殊需求的可以按照源码自己修改

  • 資深大佬 : EminemW

    ?怎么我的线程池可以传最大线程数

  • 資深大佬 : hodur

    LinkedBlockingQueue 是无界的吗

  • 資深大佬 : anthow

    方便啊

  • 資深大佬 : youxiachai

    LinkedBlockingQueue 我白用了?

  • 資深大佬 : youxiachai

    难怪我看起来这么怪….
    Executors.newFixedThreadPool(int queueCapcity)
    原来是 android 才支持?

  • 資深大佬 : youxiachai

    看错了..忽略..应该有才对啊…. lz 用的 jdk 版本是多少,为啥会没有..

  • 資深大佬 : xiaofan2

    lz 的无界的意思是如何不传参数默认的参数是 Integer.MAX_VALUE 吧

  • 資深大佬 : wysnylc

    Executors.newWorkStealingPool(200)
    记得经常更新下自己的 jdk 和技术

  • 主 資深大佬 : huntcool001

    @youxiachai

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

    JDK15 的文档, 没有 Executors.newFixedThreadPool(int queueCapcity)

  • 資深大佬 : zhady009

    @wysnylc 这个 api 的入参不是队列容量吧

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具