私は複数のget snmpを送信するためのスレッドプールを実装しています。 Callableオブジェクトを使用しています:ScheduledExecutorServiceオブジェクトで実行スレッドを開始するために遅延を追加します。
final ScheduledExecutorService executor = Executors.newScheduledThreadPool(size);
final Map<String, Future< >> map = new HashMap<String, Future< >>();
for (final String key : groupMap.keySet()) {
final ObjectCallable objectCallable = new ObjectCallable(par1, par2, par3);
try {
Thread.sleep(50);
} catch (final InterruptedException e) {
LOGGER.error("Error delay in the submit Callable" + e.getMessage());
}
final Future< > result = executor.submit(objectCallable);
}
スレッド間に実行遅延を追加する必要があります。私は提出する前に睡眠を追加しました、それは正しいですか?誰か他の方法を知っていますか?
"スレッド間に実行遅延を追加する必要があります。"あなたのニーズをより正確に説明できますか? – davidxxx
私はすべてのスレッドを同時に起動するのではなく、少し遅れて起動します。例T1開始時刻0、t2開始時刻0 +遅延、..... – ottis79