Skip to content

《Java 线程池最佳实践 》5.正确配置线程池参数的讨论 #1737

@shanjunwei

Description

@shanjunwei

《Java 线程池最佳实践 》5.正确配置线程池参数
关于IO密集型参数配置 2N的计算方式比较模糊,主要由于网上和书上没有统一权威的答案。

2N可能可以, 更严谨的计算的方法应该为
最佳线程数= CPU核数∗[1+(I/O耗时/CPU耗时)]

注意公式中 CPU核数应该为逻辑核数,也就是cpu支持的并行线程数。
公式很好理解,I/O耗时/CPU耗时这种算法,cpu的时间片利用率会达到100%,多出1的原因和cpu密集型同理为了防止线程偶尔失效。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions