Este Python bun pentru concurență?
Este Python bun pentru concurență?

Video: Este Python bun pentru concurență?

Video: Este Python bun pentru concurență?
Video: How to Deal With Concurrency in Python 2024, Aprilie
Anonim

Piton nu este foarte bun pentru CPU-bound concurente programare. GIL va face (în multe cazuri) programul să ruleze ca și cum ar rula pe un singur nucleu - sau chiar mai rău. Dacă aplicația dvs. este legată de I/O, Piton poate fi o soluție serioasă, deoarece GIL este în mod normal eliberat în timpul blocării apelurilor.

De asemenea, trebuie să știți, Python acceptă concurența?

Python face au biblioteci încorporate pentru cele mai comune concurente constructe de programare - multiprocesare și multithreading. Motivul este, multithreading în Piton nu este cu adevărat multithreading, din cauza GIL în Piton.

Se poate întreba, de asemenea, de ce multithreadingul nu este posibil în python? Interpretul CPython (pentru pur Piton cod) va forța GIL să fie eliberat la fiecare sută de instrucțiuni de cod de octeți. Pur și simplu permite doar un fir să ruleze simultan în interpret. Deci multiprocesare nu multithreading vă va permite să obțineți o adevărată concurență.

Ulterior, întrebarea este, este Python bun pentru multithreading?

Piton nu permite multi-threading în cel mai adevărat sens al cuvântului. Are o multi-threading pachet dar dacă vrei cu mai multe fire pentru a vă accelera codul, atunci de obicei nu este a bun ideea de a-l folosi. Piton are un construct numit Global Interpreter Lock (GIL).

Ce modul poate fi folosit pentru a implementa concurența în Python 3?

The concurente . viitoare modul a fost adăugat în Piton 3.2. In conformitate cu Piton documentația oferă dezvoltatorului o interfață de nivel înalt pentru executarea asincronă a apelurilor.

Recomandat: