Многопоточность middle
Что такое Пулы потоков?
Ответ
newFixedThreadPool(n) — фикс. число потоков, неограниченная LinkedBlockingQueue (при наплыве задачи копятся в очереди). newCachedThreadPool — неограниченно плодит потоки (ОПАСНО — OOM). newScheduledThreadPool — периодические задачи через scheduleAtFixedRate. В проде: ThreadPoolExecutor вручную с corePoolSize, задающим базовое число потоков.
Разбор: newFixedThreadPool использует неограниченную LinkedBlockingQueue (а не SynchronousQueue) и при наплыве задач копит их в очереди; newCachedThreadPool, наоборот, неограниченно плодит потоки и опасен OOM; newScheduledThreadPool умеет периодический запуск через scheduleAtFixedRate. Дистракторы переставляют эти свойства местами: путают, у кого опасность OOM, какая очередь используется и что corePoolSize — это базовое, а не максимальное число потоков.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.