Sobes.tech
Junior — Middle

Mi az a szálmedence, és milyen esetekben célszerű használni?

sobes.tech MI

Válasz az MI-től

A szálak poolja egy előre létrehozott szálak halmaza, amelyeket felhasználnak feladatok végrehajtására. Ahelyett, hogy minden feladathoz új szálat hoznánk létre, egy szabad szálat veszünk a poolból.

Előnyök:

  • Csökkenti a szálak létrehozásának és megsemmisítésének költségeit.
  • Ellenőrzi a párhuzamosan működő szálak maximális számát.

A szálak poolját akkor érdemes használni, amikor:

  • Sok rövid feladatot kell párhuzamosan végrehajtani.
  • Szükség van a párhuzamosan működő szálak számának korlátozására.

Python példában 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)

Itt egy 3 szálból álló pool jön létre, amely 5 feladatot hajt végre.