Onko Python hyvä samanaikaisuuteen?
Onko Python hyvä samanaikaisuuteen?

Video: Onko Python hyvä samanaikaisuuteen?

Video: Onko Python hyvä samanaikaisuuteen?
Video: From C to Python by Ross Rheingans-Yoo 2024, Joulukuu
Anonim

Python ei ole kovin hyvä prosessoriin sidottuille samanaikaisesti ohjelmointi. GIL (monissa tapauksissa) saa ohjelmasi toimimaan ikään kuin se toimisi yhdellä ytimellä - tai vielä pahempaa. Jos hakemuksesi on I/O-sidottu, Python voi olla vakava ratkaisu, koska GIL vapautetaan normaalisti puhelujen eston aikana.

Tietää myös, tukeeko Python samanaikaisuutta?

Python tekee on sisäänrakennetut kirjastot yleisimmille samanaikaisesti ohjelmointirakenteet - moniprosessointi ja monisäie. Syynä on monisäikeisyys Python ei todellakaan ole monisäikeinen GIL-sisäänmenon vuoksi Python.

Voidaan myös kysyä, miksi monisäikeisyys ei ole mahdollista pythonissa? CPython-tulkki (puhtaalle Python koodi) pakottaa GIL:n vapautumaan sadan tavun koodikäskyjen välein. Se yksinkertaisesti sallii vain yhden säikeen ajaa kerralla tulkin sisällä. Moniprosessointia siis ei monisäikeistä avulla voit saavuttaa todellisen samanaikaisuuden.

Myöhemmin kysymys kuuluu, onko Python hyvä monisäikeiseen?

Python ei salli monisäikeinen sanan varsinaisessa merkityksessä. Sillä on monisäikeinen paketti, mutta jos haluat monisäikeinen koodin nopeuttamiseksi, se ei yleensä ole a hyvä idea käyttää sitä. Python on rakenne nimeltä Global Interpreter Lock (GIL).

Mitä moduulia voidaan käyttää samanaikaisuuden toteuttamiseen Python 3:ssa?

The samanaikaisesti . futuurit moduuli lisättiin joukkoon Python 3.2. Mukaan Python dokumentaatiossa se tarjoaa kehittäjälle korkean tason käyttöliittymän kutsuttavien tiedostojen asynkroniseen suorittamiseen.

Suositeltava: