2010-04-28 56 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; 

} 
在远程登录

,LINUX编译错误:在远程登录(Linux)的c语言

我写的gcc za.c

错误列表: 未定义参考给pthread_create,在pthread_join 在函数 '主'

//为什么?

+0

您需要格式化,如果正常,你希望其他人花时间研究一下,你的代码。 – 2010-04-28 15:49:58

回答

6

您需要与pthreads库链接:

gcc -lpthread za.c 
+0

我试了一下,但没有执行 – user328009 2010-04-28 15:30:52

+0

@ lilyrose07:你什么意思是“不执行?”你收到什么错误? – 2010-04-28 15:50:20