A Python jó a párhuzamossághoz?
A Python jó a párhuzamossághoz?

Videó: A Python jó a párhuzamossághoz?

Videó: A Python jó a párhuzamossághoz?
Videó: OpenAI Secret Trick - Automated ChatGPT 🔥🔥 2024, Lehet
Anonim

Piton nem nagyon jó CPU-hoz kötött egyidejű programozás. A GIL (sok esetben) úgy futtatja a programot, mintha egyetlen magon futna – vagy még rosszabb. Ha jelentkezése I/O-kötött, Piton komoly megoldás lehet, mivel a GIL rendszerint a hívások blokkolása közben szabadul fel.

Azt is tudni kell, hogy a Python támogatja-e a párhuzamosságot?

A Python igen beépített könyvtárakkal rendelkeznek a leggyakoribbak számára egyidejű programozási konstrukciók - multiprocessing és multithreading. Az ok a többszálú bemenet Piton nem igazán többszálú, a GIL beépítettsége miatt Piton.

Felmerülhet az is, hogy miért nem lehetséges a többszálú pythonban? A CPython tolmács (a tiszta Piton kód) arra kényszeríti a GIL-t, hogy minden száz bájtos kód utasítást kiadjon. Egyszerűen csak egy szál futását engedi meg egyszerre az értelmezőn belül. Tehát több feldolgozás nem többszálú lehetővé teszi a valódi egyidejűség elérését.

Ezt követően a kérdés az, hogy a Python alkalmas-e többszálú feldolgozásra?

Piton nem engedi többszálú a szó legigazibb értelmében. Van egy többszálú csomagot, de ha akarod többszálas a kód felgyorsítása érdekében, akkor általában nem a jó ötlet használni. Piton rendelkezik a Global Interpreter Lock (GIL) nevű konstrukcióval.

Melyik modul használható a párhuzamosság megvalósítására a Python 3-ban?

Az egyidejű . határidős ügyletek modult hozzáadták Piton 3.2. Szerint a Piton dokumentációban magas szintű felületet biztosít a fejlesztőnek a hívható fájlok aszinkron végrehajtásához.

Ajánlott: