【发布时间】:2011-01-03 17:52:50
【问题描述】:
我有一个数组中的主机列表,它代表可用于执行特定工作的服务器。目前我只是遍历列表查找并与主机建立通信以检查其不忙。如果没有,我将向它发送工作。这种方法往往意味着列表中的第一个主机往往会持续变热,而负载未与其余可用主机正确平衡。
在伪代码中..
for (Host h : hosts) {
//checkstatus
if status == job accepted break;
}
我想在主机之间适当地平衡这种负载,即第一次使用主机一,第二次使用该方法主机 2。只是想知道最优雅的解决方案是??
谢谢 W
【问题讨论】:
-
我想可能是我之后。可能为我的主机数组列表实现了一个自定义迭代器。只是不确定如何做到这一点。我感觉我需要扩展 ArrayList 类并实现 ListIterator 类,这听起来合理吗?
标签: java scheduling iterator