Добрый день. ThreadPoolExecutor - 1Есть вопрос для собеседования такой. Сколько способов создания нитей вы знаете. В ответах фигурирует цифра 2: либо создать Thread, передав ему Runnable, либо создать объект класса-наследника Thread, в котором переопределён run(). Но я задумался: а два ли? Если использовать concurrent, например, Executors.newFixedThreadPool(5), то когда будут созданы объекты потоков, сразу при выполнении этого метода, или позже, когда появятся задачи для исполнения (ведь они могут и не появиться). Все эти методы-фабрики возвращают какие-то конфигурации ThreadPoolExecutor, у которого один из параметров конфигурации corePoolSize Про это поле написано: corePoolSize – the number of threads to keep in the pool, even if they are idle, unless allowCoreThreadTimeOut is set С другой стороны, если задачи так и не поступили, то мы создали 5 workers в холостую, может они начинают создаваться, когда начинают поступать задачи? В общем 2 или 3 варианта всё таки можно иметь в виду в качестве варианта ответа на вопрос?