Ar Python tinka lygiagretumui?
Ar Python tinka lygiagretumui?

Video: Ar Python tinka lygiagretumui?

Video: Ar Python tinka lygiagretumui?
Video: Дополненная реальность в вашем браузере [ru] Алина Карпельцева 2024, Gegužė
Anonim

Python nėra labai Gerai skirtas prie procesoriaus vienu metu programavimas. GIL (daugeliu atvejų) privers jūsų programą veikti taip, lyg ji veiktų viename branduolyje – arba dar blogiau. Jei jūsų paraiška yra susijusi su I/O, Python gali būti rimtas sprendimas, nes GIL paprastai išleidžiamas blokuojant skambučius.

Taip pat reikia žinoti, ar Python palaiko lygiagretumą?

Python daro turi integruotas bibliotekas, skirtas dažniausiai vienu metu programavimo konstruktai – daugiaprocesis ir daugiasriegis. Priežastis yra daugelio gijų įtraukimas Python iš tikrųjų nėra daugiasriegis dėl GIL įvesties Python.

Taip pat galima paklausti, kodėl python neįmanomas kelių gijų kūrimas? CPython vertėjas (skirta grynai Python kodas) privers GIL išleisti kas šimto baitų kodo instrukcijas. Tai tiesiog leidžia tik vienai gijai vienu metu paleisti vertėją. Taigi daugiaprocesis ne daugiasriegis leis jums pasiekti tikrą sutapimą.

Vėliau kyla klausimas, ar „Python“tinka kelių gijų kūrimui?

Python neleidžia kelių sriegių tikrąja to žodžio prasme. Tai turi kelių sriegių paketą, bet jei norite kelių gijų Norėdami pagreitinti kodą, paprastai tai nėra a Gerai idėja juo pasinaudoti. Python turi konstrukciją, pavadintą Global Interpreter Lock (GIL).

Kuris modulis gali būti naudojamas lygiagretumui įdiegti Python 3?

The vienu metu . ateities sandoriai modulis buvo įtraukta Python 3.2. Pagal Python dokumentacija kūrėjui suteikia aukšto lygio sąsają, leidžiančią asinchroniškai vykdyti skambučius.

Rekomenduojamas: