サードパーティのライブラリを使用して、多数のデータセットを処理しています。プロセスは非常にまれに無限ループに入ります(またはブロックされます-理由がわからず、コードに入ることができません)。決められた時間の後にこれを殺して、次のケースに進みたいです。簡単な例は次のとおりです。
for (Object data : dataList) {
Object result = TheirLibrary.processData(data);
store(result);
}
processDataは通常、最大1秒かかります。たとえば、10秒後にprocessData()を強制終了するタイマーを設定したい
編集私はコードスニペットをいただければ幸いです(私はスレッドの使用については練習していません)。エグゼキュータのアプローチは便利に見えますが、どのように始めればよいのかよくわかりません。また、より一般的なアプローチの擬似コードは、私がコーディングするには一般的すぎます。
@Steven Schlansker-サードパーティのアプリが割り込みを予期しない限り、それは機能しないことを示唆しています。繰り返しますが、詳細と例をいただければ幸いです
編集私は同僚のサム・アダムズから私が望んでいた正確な解決策を得ました。それは私が答えとして追加しています。他の回答よりも詳細ですが、両方に投票します。サムズを承認済みの回答としてマークします