これが私がやりたいことです:
いつでも多くのスレッドが開始され、各スレッドは約 5 秒間実行されます。1 つのスレッドが実行中の場合、他のスレッドは待機する必要があります。実行中のスレッドが終了すると、最新のスレッドが実行を開始し、待機中の他のスレッドが停止します。もちろん、あるスレッドが開始されたときに、他のスレッドが存在しないという状況もあります。
FutureTask を使用しようとしましたが、失敗しました。私には複雑すぎるようです。誰か私にアイデアを教えてもらえますか?
これが私がやりたいことです:
いつでも多くのスレッドが開始され、各スレッドは約 5 秒間実行されます。1 つのスレッドが実行中の場合、他のスレッドは待機する必要があります。実行中のスレッドが終了すると、最新のスレッドが実行を開始し、待機中の他のスレッドが停止します。もちろん、あるスレッドが開始されたときに、他のスレッドが存在しないという状況もあります。
FutureTask を使用しようとしましたが、失敗しました。私には複雑すぎるようです。誰か私にアイデアを教えてもらえますか?
タスク キューからタスクを取得し、それらを順番に呼び出すシングルスレッド executorを確認することをお勧めします。
後で並行性を追加することにした場合は、このクラスを使用する方が便利です