|
Article on other languages:
|
Multithreading er en måde at distribuere opgaver i programmer mellem flere, alenestående men samarbejdende tråde i programmet, og adskiller sig fra multiproces-programmer ved, at der ikke anvendes flere instanser af samme program samtidig, med dertil hørende interproceskommunikation, men at al håndtering af koordination og kommunikation foregår inde i selve programmet, samt at programmerne nemt og elegant kan anvende samtlige globale variable.
Anvendelse af multithreadingDa tråde elegant kan distribueres over flere processorer, kan maksimal ydeevne for multiprocessor-systemer nåes ved enkel og effektiv anvendelse af multithreading, uden det store overhead multiproces-programmer skaber hos operativsystemet. EksempelEt enkelt eksempel på multithreading, skrevet i Cocoa: multithread.m #import <Cocoa/Cocoa.h> @interface Multithread : NSObject { } - (void) sigHejToGange; - (void) hejThread; @end @implementation Multithread - (void) sigHejToGange { NSLog(@"Hej, verden"); [NSThread detachThreadSelector: @selector( hejThread) toTarget: self withObject: NIL]; } - (void) hejThread { NSLog(@"Hej, verden"); } @end int main() { Multithread * test = [[Multithread alloc] init]; [test sigHejToGange]; [test release] } Programmet udskriver "Hej, verden" to gange - i to forskellige threads. Synkronisering mellem trådeSynkronisering kan ske med mutexes og spinlocks, eller ved hjælp af primitive kontrolvariable, og et simpelt if-udsagn. Programmeringssprog, som understøtter tråde
Operativsystemer, som understøtter tråde |
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net