Исполнители Java: как я могу поставить приоритет задачи?

Существует ли возможность установить приоритет на задачи, которые выполняются Исполнителями? Я нашел некоторые операторы в JCIP о, это возможно, но я не могу найти пример, и я не могу найти, что что-либо имело отношение в документах.

От JCIP:

Политика выполнения указывает "что, где, когда, и как" выполнения задачи, включая:

  • ...
  • В каком порядке задачи должны быть выполнены (FIFO, LIFO, первоочередной заказ)?
  • ...

UPD: Я понял, что спросил не точно, что я хотел спросить. То, что я действительно хотел:

То, как использовать/эмулировать установку, распараллеливает приоритет (т.е. что было thread.setPriority()) с платформой исполнителей?

38
задан Athafoud 3 June 2015 в 07:40
поделиться

1 ответ

В настоящее время единственными конкретными реализациями интерфейса Executor являются ThreadPoolExecutor и ScheduledThreadpoolExecutor

Вместо использования утилиты / фабричного класса Executors, вы должны создать экземпляр с помощью конструктора.

Вы можете передать BlockingQueue конструкторам ThreadPoolExecutor.

Одна из реализаций BlockingQueue, PriorityBlockingQueue, позволяет передавать в конструктор компаратор, что дает возможность определять порядок выполнения.

60
ответ дан 27 November 2019 в 03:10
поделиться