Кое е по-добро многопроцесорно или многонишково в Python?
Кое е по-добро многопроцесорно или многонишково в Python?

Видео: Кое е по-добро многопроцесорно или многонишково в Python?

Видео: Кое е по-добро многопроцесорно или многонишково в Python?
Видео: How To Achieve Synchronization In C# While Doing Async Await Multithreaded Programming - .NET Core 2024, Може
Anonim

В резба модулът използва нишки, многопроцесорна обработка модулът използва процеси. Разликата е, че нишките работят в едно и също пространство на паметта, докато процесите имат отделна памет. Това прави малко по-трудно споделянето на обекти между процеси многопроцесорна обработка . Процесите на размножаване са малко по-бавни от размножаващите се нишки.

Съответно кое е по-добро многопроцесорно или многонишково?

Ключовата разлика между многопроцесорна обработка и многонишковост е това многопроцесорна обработка позволява на системата да има повече от два процесора, добавени към системата, докато многонишковост позволява генериране на процес множество нишки за увеличаване на изчислителната скорост на системата.

Човек може също да попита какви са предимствата на използването на многонишковост вместо множество процеси? Следователно, многонишков програмите могат да работят много по-бързо, отколкото на еднопроцесорна система. Те също могат да бъдат по-бързи от програма използвайки множество процеси , защото нишките изискват по-малко ресурси и генерират по-малко режийни разходи.

Освен това многонишковостта добро ли е в Python?

В CPython, поради Global Interpreter Lock, може да се изпълнява само една нишка Python код наведнъж (въпреки че определени библиотеки, ориентирани към производителността, могат да преодолеят това ограничение). Въпреки това, нишката все още е подходящ модел, ако искате да изпълнявате няколко I/O-обвързани задачи едновременно.

Добре ли е многонишковостта?

Многонишковост не е а добре идея, ако трябва да гарантирате точно физическо време (както във вашия пример). Други минуси включват интензивен обмен на данни между нишки. Аз бих казал многонишков е добре за наистина паралелни задачи, ако не ви пука много за тяхната относителна скорост/приоритет/време.

Препоръчано: