Добридень. Є питання для співбесіди таке. Скільки способів створення ниток ви знаєте. У відповідях фігурує цифра 2: або створити
Thread
, передавши йому Runnable
, або створити об'єкт класу-спадкоємця Thread
, в якому перевизначено run()
. Але я замислився: а чи два? Якщо використовувати concurrent
, наприклад, Executors.newFixedThreadPool(5)
то коли будуть створені об'єкти потоків, відразу при виконанні цього методу, або пізніше, коли з'являться завдання для виконання (адже вони можуть і не з'явитися). Всі ці методи-фабрики повертають якісь конфігурації ThreadPoolExecutor
, у якого один з параметрів конфігурації ПроcorePoolSize
це поле написано : corePoolSize
–allowCoreThreadTimeOut
is set З іншого боку, якщо завдання так і не надійшли, то ми створабо 5 workers в неодружену, може вони починають створюватися, коли починають надходити завдання? Загалом 2 або 3 варіанти все-таки можна мати на увазі як варіант відповіді на запитання?
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ