gpt4 book ai didi

java - fork/join 是多线程的吗?

转载 作者:行者123 更新时间:2023-12-02 11:11:55 25 4
gpt4 key购买 nike

如果我有 2 个 CPU 并为 fork/join 框架调度 1000 个任务,那么这些任务一次最多执行 2 个,还是会在同一 CPU 上并行执行更多任务? (比如说,也许一个任务正在等待 I/O,在这种情况下 CPU 将变得空闲,另一个线程可以运行)

最佳答案

如果您自己不包含任何限制,则不会应用任何限制,并且 Java 将 fork 尽可能多的线程(可能全部 1000 个,具体取决于系统限制)。这并不理想。如果您正在进行的计算可能需要一些 IO 时间,但即使在大量并发处理的情况下也不会受到 IO 限制,那么您可能可以证明在可用 CPU 数量之外再运行一个线程是合理的。一次运行所有 1000 个并不明智。

If I have 2 CPUs and schedule 1000 tasks for the fork / join framework to work on, will the tasks be executed in a maximum of 2 at a time, or will more tasks be executed in parallel on the same CPU?

如果您有双核 CPU,实际上一次只能执行 2 个线程。

关于java - fork/join 是多线程的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11369593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com