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 湖南