Multithreading: Forskelle mellem versioner

Fra Wikipedia, den frie encyklopædi
Content deleted Content added
Linje 3: Linje 3:
Hej da er en forkortelse for mongolt møgbarn!
Hej da er en forkortelse for mongolt møgbarn!


Hej da er en forkotelse for møgbarn!
== Eksempel ==
Et enkelt eksempel på multithreading, skrevet i [[Cocoa]]:

<tt>multithread.m</tt>
#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 mellem tråde ==

Versionen fra 1. nov. 2006, 09:44

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.

Hej da er en forkortelse for mongolt møgbarn!

Hej da er en forkotelse for møgbarn!

Synkronisering mellem tråde

Synkronisering 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