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 , men at al håndtering af koordination og kommunikation foregår inde i selve programmet, samt at programmerne nemt og elegant kan anvende samtlige .
Anvendelse af multithreading
Da 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.
Eksempel
Et 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åde
Synkronisering kan ske med mutexes og , eller ved hjælp af primitive kontrolvariable, og et simpelt if-udsagn.
Programmeringssprog, som understøtter tråde
Operativsystemer, som understøtter tråde
wikipedia, dansk, wiki, bog, bøger, bibliotek, artikel, læs, download, gratis, gratis download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, billede, musik, sang, film, bog, spil, spil, mobile, Phone, Android, iOS, Apple, mobiltelefon, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, sonya, mi, PC, web, computer