-1

私は Java を使用するのが初めてですSchedulerThreadPoolExecutor。シナリオに一致するスケジューラを実装する方法があるかどうかお尋ねしたいと思います。

  1. 時刻 t で、スケジューラは処理されていないすべてのタスクを取り込み、それらを処理します。

  2. 時間 t+1 に新しいタスクが来ますが、時間 t のすべてのタスクの処理が完了していないため、スケジューラーはそれらを受け取ることができません。時刻 t のタスクの一部が処理を終了したとしても、時刻 t+1 からすべてのタスクの処理が完了するまで、スケジューラは新しいタスクを取り込むことができません。その場合、スケジューラは時間 t+1 でタスクをブロックします。すべてのタスク t+1 が完全に処理されるまで、スケジューラは t+1 で新しいタスクを取り込みます。

4

1 に答える 1

0

タスクが期間の境界を越えないタスク処理期間を定義したいようです。2つの質問/ヒント:

  • なぜ使用する必要があるのSchedulerThreadPoolExecutorですか?とにかくタスク期間の要件と競合する可能性のあるタイマーのような機能を使用する予定がない限り、単純なThreadPoolExecutorもので十分です。

  • 使用するコードを再構築することを検討しましたinvokeAll()か?

于 2012-05-26T09:26:16.817 に答える