Сначала немного фона.В NetBeans я получил предупреждение о том, что не следует создавать новый поток в конструкторе.Я читал, что причина этого в том, что новый поток может запуститься и попытаться сослаться на объект, запустивший поток до того, как конструктор фактически завершит создание объекта.
1.) Для экспериментов вместоиспользуя new Thread
и thread.start()
я пробовал ExecutorService
и не получил предупреждения. Означает ли это, что можно создать и запустить новый поток в конструкторе, если я использую ExecutorService
?
2.) Кроме того, если у меня есть ExecutorService
в формекэшированного пула потоков создаст новый поток стандартным методом new Thread
и thread.start()
, вытянет поток из пула кэша (или заставит его создать один, если он недоступен), или эти потоки полностью независимыпула кэшированных потоков?