is being running at ubunte linux system.
dusibo hunan yongzhou
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
static int run=1;
static int retvalue;
void *start_routine(void *arg)
{
int *running=(int *)arg;
printf("child thread initation complete %d/n",*running);
while(*running)
{
printf("child thread running/n");
usleep(1);
}
printf("child thread out/n");
retvalue=8;
pthread_exit((void**)retvalue);
}
int main(void)
{
pthread_t pt;
int ret=-1;
int time=3;
int i=0;
int *ret_join=NULL;
ret=pthread_create(&pt,NULL,start_routine,&run);
if(ret!=0)
{
printf("build a thread/n");
return 1;
}
usleep(1);
for(;i<time;i++)
{
printf("root thread print/n");
usleep(1);
}
run=0;
pthread_join(pt,(void**)ret_join);
printf("bak value is %d/n",*ret_join);
return 0;
}
杜思波 2011 湖南