Back to questions
Junior — Middle
52
Что такое пул потоков и в каких случаях его использование целесообразно?
Answer from AI
sobes.tech AI
Пул потоков — это набор заранее созданных потоков, которые повторно используются для выполнения задач. Вместо создания нового потока на каждую задачу, берётся свободный поток из пула.
Преимущества:
- Снижение накладных расходов на создание и уничтожение потоков.
- Контроль максимального количества одновременно работающих потоков.
Целесообразно использовать пул потоков, когда:
- Нужно выполнять множество коротких задач параллельно.
- Требуется ограничить число одновременно работающих потоков.
Пример в Python с ThreadPoolExecutor:
from concurrent.futures import ThreadPoolExecutor
import time
def task(n):
time.sleep(1)
return n * 2
with ThreadPoolExecutor(max_workers=3) as executor:
results = executor.map(task, range(5))
for r in results:
print(r)
Здесь создаётся пул из 3 потоков, которые выполняют 5 задач.