Er Python bra for samtidighet?
Er Python bra for samtidighet?

Video: Er Python bra for samtidighet?

Video: Er Python bra for samtidighet?
Video: Java On Conference 2022, JDK 19, Spring Framework 6 and Spring Boot 3 [MJC News #11] 2024, November
Anonim

Python er ikke veldig god for CPU-bundet samtidig programmering. GIL vil (i mange tilfeller) få programmet til å kjøre som om det kjørte på en enkelt kjerne - eller enda verre. Hvis søknaden din er I/O-bundet, Python kan være en seriøs løsning ettersom GIL normalt frigis mens du blokkerer samtaler.

Også å vite er, støtter Python samtidighet?

Python gjør det har innebygde biblioteker for de vanligste samtidig programmeringskonstruksjoner - multiprosessering og multithreading. Årsaken er multithreading Python er egentlig ikke multithreading, på grunn av GIL i Python.

Man kan også spørre hvorfor multithreading ikke er mulig i python? CPython-tolken (for ren Python kode) vil tvinge GIL til å frigis hver hundre byte kodeinstruksjoner. Det lar ganske enkelt bare én tråd kjøres samtidig i tolken. Altså multiprosessering ikke flertråding vil tillate deg å oppnå ekte samtidighet.

Deretter er spørsmålet, er Python bra for multithreading?

Python tillater ikke flertråding i ordets sanneste betydning. Den har en flertråding pakke, men hvis du vil flertråd for å øke hastigheten på koden din, så er det vanligvis ikke en god idé å bruke den. Python har en konstruksjon kalt Global Interpreter Lock (GIL).

Hvilken modul kan brukes til å implementere samtidighet i Python 3?

De samtidig . futures modul ble lagt inn Python 3.2. Ifølge Python dokumentasjon det gir utvikleren et høynivågrensesnitt for asynkron kjøring av callables.

Anbefalt: