0

優先度に従って Task を実行する ScheduledThreadPoolExecutor が必要です。2 つ以上のタスクが即時実行のために保留中の場合、最も優先度の高いタスクを最初に呼び出す必要があります。

実際には、ThreadPoolExecutor の解決策はありますが、ScheduledThreadPoolExecutor の解決策はありません。これは、BlockingQueue 引数を持つコンストラクターを提供しないためです。

参照: Java Executors: タスクの優先度を設定するにはどうすればよいですか?

4

1 に答える 1

1

私があなただったら、 にScheduledThreadPoolExecutor投稿する単一のスレッドがThreadPoolExecutorありPriorityBlockingQueueます。最もエレガントではありませんが、仕事は完了します。

于 2014-03-26T17:01:02.363 に答える