В чем разница между ThreadGroup, ThreadPool, ThreadPoolExcecutor, Excecutor и ExcecutorServise?
Недавно начал изучение многопоточности в джава и столкнулся с этими понятиями. Они все вроде служат для организации потоков, но в чем их разница?
Ответы (2 шт):
В java есть два интерфейса для многопоточности Callable и Runnable.
Всё класс которые имплементятся от Runnable, значений не возвращают.
Те которые имплементятся от Callable возвращают значения.
ThreadGroup неудачный класс судя по книге: Эффективное программирование, Джошуа Блох
Дальше смотрите в документации каждый класс, и задавайте более точные вопросы, так как данный вопрос слишком общий
Дополню принятый ответ.
Executor это интерфейс для запуска Runnable без возможности управления процессом исполнения.
ExecutorService это тоже интерфейс для запуска как Runnable, так и Callable, плюс управление самим процессом исполнения.
ThreadPoolExecutor это одна из имплементаций обоих интерфейсов.