Skillnad mellan multithreading och multitasking

Huvudskillnad - multitrådning vs multitasking
 

Multithreading och multitasking ser likartat ut, men de är två olika begrepp. En dator utför många uppgifter samtidigt. Multithreading och multitasking beror både på datorprestanda. De nyckelskillnad mellan multithreading och multitasking är det i multithreading, flera trådar körs i en process samtidigt, och i multitasking körs flera processer samtidigt. I den här artikeln diskuteras skillnaden mellan multithreading och multitasking.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är Multithreading
3. Vad är multitasking
4. Likheter mellan multithreading och multitasking
5. Jämförelse vid sida vid sida - Multithreading vs Multitasking i tabellform
6. Sammanfattning

Vad är Multithreading?

Ett datorsystem utför ett antal uppgifter samtidigt. En uppgift kan kallas en process. Det är ett program i körning. Att skapa processer för varje uppgift är inte effektiv. Det kan konsumera många resurser. För att undvika det kan en process delas upp i flera delprocesser och uppgifterna kan utföras med hjälp av dessa delprocesser. En delprocess är en enhet i processen. Den enheten är känd som en tråd. Vid multithreadning delas en process upp i flera trådar och dessa trådar utförs parallellt samtidigt.

Det finns två typer av gängade applikationer som heter, enkelgängade applikationer och multi-threaded applikationer. När det finns en tråd i en process, så kallad enkelgängad och när flera trådar körs i processen kallas det multithreaded applikation. Multithreading är användbar för att köra flera uppgifter samtidigt. Bellow exempel visar en multithreaded process. T1, T2, T3 är trådar.

Trådar kan också kategoriseras i två typer. Dom är Användartrådar och Kärneltrådar. Kärnan stöder inte användargängor. Kärneltrådar stöds och hanteras av kärnan. Det finns tre multithreading-modeller. Det finns namngivna som många-till-en-modell, en-till-en-modell och många till många modeller. Bellow-diagram visar beläggningsmodellerna. 'U' betecknar en användartråd och 'K' betecknar en kärntråd.

Många-till-en-modell

I många-till-en-modellen kartläggs många användartrådar i enkelkärnigtråd.

Figur 02: Många-till-en-modell

En-till-en-modell

I en till en modell är varje användartråd mappad till en separat kärntråd.

Figur 03: En-mot-en-modell

Många till många modeller

I många av många modeller multiplexerar många trådar på användarnivå till mindre eller lika många kärntrådar.

Figur 04: Många till många modeller

Multithreading ger flera fördelar. Trådar är användbara vid kommunikation mellan processer. De förbättrar också lyhördhet. Det är inte nödvändigt att fördela resurser till varje tråd separat så att använda trådar är ekonomiska. Om en tråd misslyckas kommer det inte att påverka hela processen. Trådarna är lätta och förbrukar en minsta mängd resurser jämfört med en process.

Vad är multitasking?

Datorn kan utföra olika uppgifter samtidigt. Till exempel kan en webbläsare, ett Word-program, en PowerPoint-applikation, en kalkylatoransökan alla köras samtidigt. Så, datorn utför flera uppgifter eller flera processer samtidigt. Det kallas som multitasking. Även om datorn kan utföra flera uppgifter samtidigt, finns det ett visst antal uppgifter som kan utföras åt gången.

Figur 05: Multitasking

Att köra många processer kan minska beräkningshastigheten eftersom det kräver fler resurser. Multitasking ökar produktiviteten eftersom flera program körs samtidigt. Det är också enkelt för användaren att märka en uppdatering omedelbart.

Vad är likheten mellan multithreading och multitasking?

  • Båda metoderna kan påverka systemets prestanda.

Vad är skillnaden mellan multithreading och multitasking?

Multithreading vs Multitasking

Multithreading är att utföra flera trådar i en process samtidigt. Multitasking är att köra flera processer på en dator samtidigt.
 Avrättning
I multithreading växlar CPU mellan flera trådar i samma process. I multitasking växlar CPU mellan flera processer för att slutföra utförandet.
Resursdelning
I Multithreading delas resurser bland flera trådar i en process. I multitasking delas resurser bland flera processer.
 Komplexitet
Multithreading är lätt och lätt att skapa. Multitasking är tungvikt och svårare att skapa.

Sammanfattning - Multithreading vs multitasking

Multithreading och Multiprocessing utföra trådar och processer samtidigt. Skillnaden mellan multithreading och multitasking är att vid multithreadning körs flera tråden i en process samtidigt och i multitasking körs flera processer samtidigt. Även om termerna liknar varandra, är de olika begrepp. Båda är dock båda huvudbegreppen inom datavetenskap.

Ladda ner PDF-versionen av Multithreading vs Multitasking

Du kan hämta PDF-versionen av den här artikeln och använda den för offlineändamål enligt citationsnotat. Var god ladda ner PDF-version här Skillnaden mellan multithreading och multitasking

Referens:

1. "Vad är multitasking?" Computer Hope, 30 okt 2017. Tillgänglig här
2.Point, handledning. "Operativsystem - Multi-Threading.", Tutorials Point, 15 aug 2017. Tillgänglig här 

Image Courtesy:

1.Multitasking-os'By Jeff Meisel - Meisel, J. Task Parallelism, Connexions webbplats.  28 november 2007. (CC BY 2.0) via Commons Wikimedia