Maganda ba ang Python para sa concurrency?
Maganda ba ang Python para sa concurrency?

Video: Maganda ba ang Python para sa concurrency?

Video: Maganda ba ang Python para sa concurrency?
Video: WHAT IS PYTHON? | BAKIT MAGANDANG PAG-ARALAN ANG PYTHON? | Python tutorial 2020 2024, Mayo
Anonim

sawa ay hindi masyadong mabuti para sa CPU-bound kasabay programming. Gagawin ng GIL (sa maraming mga kaso) na tumakbo ang iyong programa na parang tumatakbo ito sa isang core - o mas masahol pa. Kung ang iyong aplikasyon ay I/O-bound, sawa maaaring isang seryosong solusyon dahil ang GIL ay karaniwang inilalabas habang gumagawa ng mga blocking na tawag.

Ang dapat ding malaman ay, sinusuportahan ba ng Python ang concurrency?

Ginagawa ni Python may mga built-in na aklatan para sa pinakakaraniwan kasabay programming constructs - multiprocessing at multithreading. Ang dahilan ay, multithreading in sawa ay hindi talaga multithreading, dahil sa GIL in sawa.

Maaari ring magtanong, bakit hindi posible ang multithreading sa python? Ang CPython interpreter (para sa pure sawa code) ay pipilitin ang GIL na ilabas bawat daang byte code na mga tagubilin. Pinapayagan lamang nito ang isang thread na tumakbo nang sabay-sabay sa loob ng interpreter. Kaya multiprocessing hindi multithreading ay magbibigay-daan sa iyo upang makamit ang tunay na pagkakatugma.

Kasunod nito, ang tanong ay, mabuti ba ang Python para sa multithreading?

sawa hindi pinapayagan multi-threading sa totoong kahulugan ng salita. Mayroon itong isang multi-threading package pero kung gusto mo multi-thread upang mapabilis ang iyong code, kung gayon kadalasan ay hindi ito a mabuti ideya na gamitin ito. sawa ay may construct na tinatawag na Global Interpreter Lock (GIL).

Aling module ang maaaring gamitin upang ipatupad ang concurrency sa Python 3?

Ang kasabay . kinabukasan modyul ay idinagdag sa sawa 3.2. Ayon sa sawa dokumentasyon na nagbibigay ito sa developer ng isang mataas na antas ng interface para sa asynchronous na pagpapatupad ng mga callable.

Inirerekumendang: