gpt4 book ai didi

java - 向员工分配工作量的最佳策略

转载 作者:行者123 更新时间:2023-12-01 18:42:09 25 4
gpt4 key购买 nike

我有大量数据,我必须处理这些数据,并且我想使用多线程方法。假设我有 1_000_000 个对象需要处理,并且我有大小为 4 (8, 16) 的线程池。

分配此工作负载的最佳策略是什么?我能想到两件事:

  1. 每个对象 = 1 个用于执行器服务的任务。即使与在 1 个线程中处理所有内容相比,这似乎也是最糟糕的决定。
  2. 将对象总数除以工作人员数量。例如。如果有 4 个 worker ,每个 worker 将处理 250k 个对象。这非常简单,在我看来还可以有其他选择。

请分享您的想法和其他方法(也许使用 FJP 会更有效)

最佳答案

您考虑了极端情况:1 个任务包含 1 个对象,1 个任务包含 250k 个对象。最佳批量大小很可能介于两者之间。尝试这些配置并记下花费的时间。还可以尝试 8、64、500、4k 和 32k 对象。然后看最佳时间。例如,如果最佳时间是 500,那么还可以尝试 125、250、1k 和 2k 等。这类似于二分搜索,但采用对数尺度。

关于java - 向员工分配工作量的最佳策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59907722/

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