Python ni nzuri kwa concurrency?
Python ni nzuri kwa concurrency?

Video: Python ni nzuri kwa concurrency?

Video: Python ni nzuri kwa concurrency?
Video: Licky - Pop ft. Mr. Right | Buruklyn Boyz (Official Music Video) (dir. by Badmanbright) 2024, Mei
Anonim

Chatu sio sana nzuri kwa CPU-imefungwa sambamba kupanga programu. GIL itafanya (katika hali nyingi) programu yako iendeshe kana kwamba inaendeshwa kwa msingi mmoja - au mbaya zaidi. Ikiwa ombi lako limefungwa kwa I/O, Chatu inaweza kuwa suluhisho kubwa kwani GIL kawaida hutolewa wakati wa kuzuia simu.

Pia kujua ni, je Python inasaidia concurrency?

Python hufanya hivyo kuwa na maktaba zilizojengwa ndani kwa zinazojulikana zaidi sambamba programu hujenga - multiprocessing na multithreading. Sababu ni, kusoma kwa wingi ndani Chatu si kweli multithreading, kutokana na GIL katika Chatu.

Mtu anaweza pia kuuliza, kwa nini usomaji mwingi hauwezekani kwenye python? Mkalimani wa CPython (kwa safi Chatu code) italazimisha GIL kutolewa kila maagizo ya nambari ya byte mia. Inaruhusu tu nyuzi moja kukimbia mara moja ndani ya mkalimani. Hivyo multiprocessing si multithreading itakuruhusu kufikia makubaliano ya kweli.

Baadaye, swali ni, Python ni nzuri kwa usomaji mwingi?

Chatu hairuhusu nyuzi nyingi kwa maana halisi ya neno. Ina nyuzi nyingi kifurushi lakini ikiwa unataka nyuzi nyingi kuharakisha nambari yako, basi kawaida sio a nzuri wazo la kuitumia. Chatu ina muundo unaoitwa Global Interpreter Lock (GIL).

Ni moduli gani inaweza kutumika kutekeleza concurrency katika Python 3?

The sambamba . siku zijazo moduli iliongezwa ndani Chatu 3.2. Kwa mujibu wa Chatu hati humpa msanidi kiolesura cha hali ya juu kwa ajili ya kutekeleza simu zinazoweza kupigwa bila mpangilio.

Ilipendekeza: