A është Python i mirë për konkurencë?
A është Python i mirë për konkurencë?

Video: A është Python i mirë për konkurencë?

Video: A është Python i mirë për konkurencë?
Video: Python - hyrje, sintaksa, tipet e të dhënave, variablat, operatorët, kushtet, unazat, funksionet 2024, Dhjetor
Anonim

Python nuk është shumë mirë për CPU-të lidhur njëkohësisht programimit. GIL (në shumë raste) do ta bëjë programin tuaj të ekzekutohet sikur të ishte duke u ekzekutuar në një bërthamë të vetme - ose edhe më keq. Nëse aplikacioni juaj është I/O-lidhur, Python mund të jetë një zgjidhje serioze pasi GIL zakonisht lëshohet gjatë bllokimit të telefonatave.

Gjithashtu duhet ditur, a e mbështet Python konkurencën?

Python bën kanë biblioteka të integruara për më të zakonshmet njëkohësisht konstruktet e programimit - multiprocessing dhe multithreading. Arsyeja është, multithreading në Python nuk është me të vërtetë multithreading, për shkak të GIL në Python.

Dikush mund të pyesë gjithashtu, pse multithreading nuk është i mundur në python? Përkthyesi CPython (për të pastër Python kodi) do të detyrojë GIL-in të lëshohet çdo njëqind bajt udhëzime të kodit. Ai thjesht lejon vetëm një thread të ekzekutohet menjëherë brenda përkthyesit. Pra multiprocessing jo multithreading do t'ju lejojë të arrini një harmoni të vërtetë.

Më pas, pyetja është, a është Python i mirë për multithreading?

Python nuk lejon me shumë fije në kuptimin e vërtetë të fjalës. Ajo ka një me shumë fije paketë por nëse dëshironi me shumë fije për të shpejtuar kodin tuaj, atëherë zakonisht nuk është një mirë ideja për ta përdorur atë. Python ka një konstrukt të quajtur Global Interpreter Lock (GIL).

Cili modul mund të përdoret për të zbatuar konkurencën në Python 3?

Të njëkohësisht . të ardhmes modul u shtua në Python 3.2. Sipas Python dokumentacioni i ofron zhvilluesit një ndërfaqe të nivelit të lartë për ekzekutimin asinkron të thirrjeve.

Recommended: