Multithreading och multi är termer som förknippas med den hastighet med vilken datorprogram körs . Båda är metoder som kräver en förbindelse av kunskaper i programmering och hårdvara utveckling för att kunna utnyttjas på rätt sätt . De båda uttrycken är inte alltid ömsesidigt uteslutande , de används i tandem för att öka effektiviteten i en dator. Hårdvara Skillnader
Multiprocessing kräver , som namnet antyder , flera fysiska processorkärnor . Tidigare kom flera processor moderkort med flera separata platser till ingångs Central Processing Units ( CPU ) . Idag , nyare teknik från tillverkare som AMD och Intel möjliggöra för flera processorkärnor som ska integreras till en enda CPU " chip . " Multitrådning är inte helt utan egen hårdvara , men kräver bara moderkort som stöder multitrådning kodinstruktioner . De flesta moderna moderkort har denna förmåga .
Individual Program Versus
Operativsystem
Programmerare använder multitrådning verktygssatser att tillåta program att utföra flera uppgifter parallellt . Denna " pipeline " behandling ge en illusion av två funktioner inträffar samtidigt , men faktiskt använder den höga mängden processorkraft och effektiva algoritmer för att alternera snabbt mellan en funktion och en annan . Som sådan , beror användningen av multithreading på koden för själva programmet .
Multiprocessing , däremot , har en mer öppen tillgång till kraften i flera procesströmmarna . Ett individuellt program tillgång multiprocessing fungerar under överinseende av operativsystemet , till exempel Apples Mac OS eller Microsoft Windows . Som sådan , behöver program inte särskilt optimerad med multitrådning kommandon för att utnyttja kraften i parallell bearbetning . Multitrådning kan faktiskt användas tillsammans med flera processorer .
Oberoende kontra Pipeline Processing
Multiprocessing och multitrådning skiljer sig fundamentalt i hur programmet instruktioner bearbetas . I multiprocessing , kan två eller flera instruktioner exekveras samtidigt , genom en process som kallas " parallell bearbetning . " Multitrådning , dock öppnar individuella rörledningar för varje instruktion och distribuerar processorkraft mellan dessa pipelines regelbundet .
Denna skillnad är i stort sett osynlig när processorn belastningen är liten . Dock kommer samtidiga processorkrävande instruktioner börjar stamma i en ren multitrådning miljö . Samma funktioner kommer att vara mer immun mot sådana effekter i en multi- miljö.
Error Correction
Multitrådning öppnar separata strömmar i en enda process . Strömmarna ser ut som enskilda processer , men utnyttjar en gemensam adress utrymme på datorns minne inom samma process . Multiprocessing dock öppnar upp flera process att utföra samtidiga funktioner och dessa processer får var sin egen jordlott av minne . När en enda misslyckas i en multi miljö , är alla andra processer skonade , men det är fel i ett enskilt "trådar" inte isolerad från andra trådar , och i slutändan få ner hela processen . Resultatet är potentialen för större misslyckanden inom multitrådning förhållanden .