gpt4 book ai didi

java - 如何优化线程数以加快处理速度

转载 作者:搜寻专家 更新时间:2023-11-01 01:10:22 24 4
gpt4 key购买 nike

我读过很多类似的questions .但是我对答案不是很满意。

我想构建一种算法,根据平均速度 调整线程数。

比方说,当我引入一个新线程时,任务执行的平均速度增加了,这意味着新线程是好的。然后算法应该尝试添加另一个线程......直到达到最佳线程数.......

算法还应该跟踪平均速度。如果在某个时候平均速度显着下降,比方说下降 10%(出于任何原因,例如我打开一个不同的应用程序或其他原因),那么算法应该终止一个线程并查看速度是否上升......

也许存在这样的 API。请给我任何指示或代码示例,告诉我如何实现这样的算法

谢谢!

最佳答案

我不知道您正在描述的自调整系统,但一旦您使用现成的线程池,这听起来就不是那么复杂的任务。从 concurrency 包中获取线程池,实现类 TimeConsumptionCallable implements Callable,它包装了任何其他可调用对象并仅测量执行时间。

现在您只需在平均执行时间增加或减少时更改(增加或减少)工作线程的数量。

只是不要忘记在决定更改工作线程数之前需要足够的统计信息。否则,不依赖于您的应用程序的各种随机影响可能会导致您的线程池一直增长和下降,这本身会降低整体性能。

关于java - 如何优化线程数以加快处理速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20177017/

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