Жадная инициализация Java библиотек - PullRequest
0 голосов
/ 06 августа 2020

Я использую ExecutorService из Java параллельных библиотек, но я не уверен, нужно ли инициализировать ExecutorService следующим образом.

public class Opts extends Runnable {
   //...
   private ExecutorService executor = Executors.newFixedThreadPool(10);
   //...
}

Обычно я не инициализирую сторонние зависимости или свой собственный класс, но в данном случае это номер Java, и предположение о его зависимости минимально. Что мне предпочесть?

Usecase: класс Opts также является Runnable и прослушивает события. Когда приходит событие, оно выполняет его, используя ExecutorService.

1 Ответ

2 голосов
/ 06 августа 2020

Вы можете предпочесть то, что вам нравится. Вам решать.

Но я бы рекомендовал вам не усложнять. Используйте активную инициализацию, если нет веской хорошей причины использовать ленивую инициализацию.

(Хорошая причина в этом случае может заключаться в том, что пул потоков вряд ли понадобится, или этот быстрый запуск для вашего приложение является критическим требованием.)

Обычно я не инициализирую сторонние зависимости или свой собственный класс, но в этом случае ...

Возможно, вы захотите это просмотреть. Я не уверен, что предпочтение одеял оправдано. Особенно тот, который может сделать вещи более сложными, чем они должны быть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...