Vai Python ir piemērots vienlaicībai?
Vai Python ir piemērots vienlaicībai?

Video: Vai Python ir piemērots vienlaicībai?

Video: Vai Python ir piemērots vienlaicībai?
Video: What programming language to learn in 2023? Ranking, Comparison, Applications / Best Language 2024, Maijs
Anonim

Python nav ļoti labi ar centrālo procesoru vienlaikus programmēšana. GIL (daudzos gadījumos) liks jūsu programmai darboties tā, it kā tā darbotos vienā kodolā – vai vēl sliktāk. Ja jūsu pieteikums ir saistīts ar I/O, Python var būt nopietns risinājums, jo GIL parasti tiek atbrīvots, veicot zvanu bloķēšanu.

Ir arī jāzina, vai Python atbalsta vienlaicību?

Python dara ir iebūvētas bibliotēkas visbiežāk vienlaikus programmēšanas konstrukcijas - multiprocessing un multithreading. Iemesls ir vairāku pavedienu ievadīšana Python nav īsti daudzpavedienu, jo GIL in Python.

Var arī jautāt, kāpēc multithreading nav iespējama python? CPython tulks (tīram Python kods) piespiedīs GIL atbrīvot ik pēc simts baitu koda instrukcijām. Tas vienkārši ļauj tulkā vienlaikus darboties tikai vienam pavedienam. Tātad daudzapstrāde nav daudzpavedienu ļaus sasniegt patiesu vienlaicību.

Pēc tam rodas jautājums, vai Python ir piemērots daudzpavedienu veidošanai?

Python neļauj vairāku vītņu vārda tiešākajā nozīmē. Tam ir a vairāku vītņu iepakojumā, bet, ja vēlaties daudzpavedienu lai paātrinātu kodu, parasti tas nav a labi ideja to izmantot. Python ir konstrukcija ar nosaukumu Global Interpreter Lock (GIL).

Kuru moduli var izmantot, lai ieviestu vienlaicību Python 3?

The vienlaikus . nākotnes līgumi modulis tika pievienots Python 3.2. Saskaņā ar Python dokumentāciju, tas nodrošina izstrādātājam augsta līmeņa saskarni izsaucamo failu asinhronai izpildei.

Ieteicams: