pthreads under solaris
HejJeg har et spørgsmål til nedenstående kodestump:
Når jeg compiler med GCC under solaris (med -lpthread) og efterfølgende kører programmet ser det ud til at trådene afvikles sekventielt og IKKE parallelt som man vel burde forvente.
Jeg har prøvet at indsætte "busy-wait-delays" og øge REPEATS til højere tal, men ligegyldigt hvad jeg gør udskrives FØRST alle 1-tallerne og derefter alle 2-tallerne. Hvad skyldes dette??
#include <stdio.h>
#include <pthread.h>
#define REPEATS 1000
void threadProcess1(void){
int i=0;
for (i=0;i<REPEATS;i++){
printf("1");
}
pthread_exit(NULL);
}
void threadProcess2(void){
int j=0;
for (j=0;j<REPEATS;j++){
printf("2");
}
pthread_exit(NULL);
}
int main(void){
printf("Thread creation...");
pthread_create(NULL, NULL, (void*)threadProcess1, NULL);
pthread_create(NULL, NULL, (void*)threadProcess2, NULL);
printf("DONE\n");
pthread_exit(NULL);
return 0;
}