2010-04-28 7 views
0
#include<stdio.h> 
#include<unistd.h> 
#include<stdlib.h> 
#include<pthread.h> 

int count=0; 

void *thread_function(void *arg) 
{ 
while(count<10) 
{ 
if(count%2==1) 
{ 
count++; 
} 
else 
{sleep(1);} 
} 
} 

int main(int argc,int *argv) 
{ 

int res; 

pthread_t a_thread[2]; 

void *thread_result; 

int n; 

while(count<10) 
{ 
if(count%2==0) 
{printf("%d",count); 
count++; 
} 
else{sleep(1);} 
} 

for(n=0;n<2;n++) 
{ 

pthread_create(&(a_thread[n]),NULL,thread_function,NULL); 

} 

while(count==9) 

{pthread_join(a_thread[0],&thread_result); 

} 

while(count==10) 

{ 

pthread_join(a_thread[1],&thread_result); 

} 

printf("%d",count); 

return 0; 

} 

en telnet, LinuxErreur de compilation: c langue dans telnet (Linux)

i écrire za.c gcc

liste d'erreurs: undefined reference to pthread_create, pthread_join en fonction 'principale'

// pourquoi?

+0

Vous devez formater votre code correctement si vous voulez d'autres personnes à passer du temps regarder. –

Répondre

6

Vous devez créer un lien avec la bibliothèque Pthreads:

gcc -lpthread za.c 
+0

je l'essaie, mais n'est pas excuté – user328009

+0

@ lilyrose07: Que voulez-vous dire "n'est pas exécuté?" Quelle erreur recevez-vous? –