Sobes.tech
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 задач.