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.