Multithreading en multiprocessing zijn termen in verband met de snelheid waarmee de computer programma's te draaien . Beide zijn methoden die een huwelijk van kennis van programmeren en hardware-ontwikkeling nodig om goed te worden benut . De twee termen zijn niet altijd uitsluiten , ze worden gebruikt in combinatie om de efficiëntie van een computer te verhogen . Hardware Verschillen Multiprocessing vereist , zoals de naam al impliceert , meerdere cores fysieke verwerking . Voorheen meerdere processors moederborden kwam met meerdere afzonderlijke sleuven om input Central Processing Units ( CPU ) . Vandaag , nieuwere technologieën van fabrikanten zoals AMD en Intel zorgen voor meerdere processorkernen te worden ingebouwd in een enkele CPU " chip . " Multithreading is niet geheel zonder zijn eigen hardware , maar alleen moederborden die ondersteuning multithreading code instructies vereist . De meeste moderne moederborden bevatten deze mogelijkheid . Individual Program Versus Besturingssysteem Programmeurs gebruiken multithreading hulpmiddel stelt om programma's om meerdere taken uit te voeren in parallel . Deze " pipeline " verwerking geven de illusie van twee functies tegelijkertijd plaatsvinden , maar eigenlijk maakt gebruik van de hoge hoeveelheid rekenkracht en efficiënte algoritmen om snel af te wisselen tussen de ene functie en de andere . Als zodanig is het gebruik van multithreading afhankelijk van de code van het programma zelf . Multiprocessing , daarentegen , een meer transparante toegang tot de kracht van meerdere processtromen . Een individueel programma toegang multiprocessing functies onder auspiciën van het besturingssysteem , zoals Apple's Mac OS of Microsoft Windows . Als zodanig programma hoeven niet bijzonder geoptimaliseerd multithreading commando om de kracht van parallelle verwerking gebruiken . Multithreading daadwerkelijk kan worden gebruikt in combinatie met multiprocessing . Independent versus Pipeline Processing Multiprocessing en multithreading fundamenteel verschillen in hoe de programma-instructies worden verwerkt . In multiprocessing kunnen twee of meer instructies tegelijk worden , een proces aangeduid als " parallelle verwerking . " Multithreading , opent echter individuele leidingen voor elke instructie , en verdeelt rekenkracht tussen deze leidingen periodiek . Dit verschil is grotendeels onmerkbaar wanneer de processorbelasting is klein . Echter , zal gelijktijdig processor - intensieve instructies beginnen te stotteren in een pure multithreading milieu . Dezelfde functies zal meer immuun voor dergelijke effecten in een multiprocessing omgeving . Error Correction Multithreading opent afzonderlijke stromen binnen een enkel proces . De streams kijken als afzonderlijke processen , maar maken gebruik van een gedeelde adresruimte op het geheugen van de computer binnen hetzelfde proces . Multiprocessing , opent echter meerdere proces tot gelijktijdige taken uit te voeren en deze verwerkt krijgen elk hun eigen perceel van het geheugen . Wanneer een mislukt in een multiprocessing omgeving alle andere processen gespaard echter fouten in individuele " draden" niet geïsoleerd van andere draden , en uiteindelijk omlaag brengen van de gehele proces . Het resultaat is het potentieel voor grotere mislukkingen onder multithreading omstandigheden .
|