Возможно ли иметь один пул потоков для всей моей программы, чтобы потоки были повторно использованы, или мне нужно сделать глобальную команду ExecutorService/передать ее всем объектам, использующим ее.Как повторно использовать темы с различными объектами ExecutorService?
Чтобы быть более точным, у меня есть несколько задач, которые выполняются в моей программе, но они не работают очень часто.
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
Я считаю, что было бы излишним иметь полную нить работает все время для каждой задачи, но она также может быть дорогостоящим, чтобы перезапустить нить каждый раз, когда задача выполнена.
Есть ли лучшая альтернатива созданию пула потоков в глобальном масштабе?
Вы уверены, что вам нужны темы? Если задачи очень просты, то делайте их в своем потоке. – Tala
Задачи должны быть запланированы и выполняться асинхронно. Я не думаю, что есть какая-то альтернатива. – benehsv
C# использует глобальный пул потоков, оставляя программистам возможность создавать другие пулы. Я бы сказал, что это хорошее решение. Если вам нужен глобальный исполнитель, просто создайте фабрику singleton, на которой будет размещен пул потоков. –