Hvad er bedre multiprocessing eller multithreading i Python?
Hvad er bedre multiprocessing eller multithreading i Python?

Video: Hvad er bedre multiprocessing eller multithreading i Python?

Video: Hvad er bedre multiprocessing eller multithreading i Python?
Video: Difference between Multiprocessing and Multithreading 2024, November
Anonim

Det trådning modul bruger tråde, den multibearbejdning modul bruger processer. Forskellen er, at tråde kører i det samme hukommelsesrum, mens processer har separat hukommelse. Dette gør det lidt sværere at dele objekter mellem processer med multibearbejdning . Ægningsprocesser er en smule langsommere end gydende tråde.

Tilsvarende, hvad er bedre multiprocessing eller multithreading?

Den vigtigste forskel mellem multibearbejdning og multithreading er det multibearbejdning tillader et system at have mere end to CPU'er tilføjet til systemet multithreading lader en proces generere flere tråde at øge et systems computerhastighed.

Man kan også spørge, hvad er fordelene ved at bruge multithreading i stedet for flere processer? Derfor, flertrådet programmer kan køre meget hurtigere end på et uniprocessor system. De kan også være hurtigere end et program ved hjælp af flere processer , fordi tråde kræver færre ressourcer og genererer mindre overhead.

Ydermere, er multithreading godt i Python?

I CPython kan kun én tråd udføres på grund af Global Interpreter Lock Python kode på én gang (selvom visse præstationsorienterede biblioteker kan overvinde denne begrænsning). Threading er dog stadig en passende model, hvis du vil køre flere I/O-bundne opgaver samtidigt.

Er multithreading godt?

Multi-threading er ikke en godt idé, hvis du skal garantere præcis fysisk timing (som i dit eksempel). Andre ulemper inkluderer intensiv dataudveksling mellem tråde. Jeg vil sige flertrådet er godt til virkelig parallelle opgaver, hvis du ikke bekymrer dig meget om deres relative hastighed/prioritet/timing.

Anbefalede: