代码1
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
int a=0;
void thr(void)
{
while(a<1010)
{
printf("this is a pthread %d \n",a++);
//sleep(1);
}
}
int main()
{
pthread_t id;
int i,ret;
ret=pthread_create(&id,NULL,(void *)thr,NULL);
if (ret)
{
printf("create pthread filed\n");
exit(1);
}
printf("%s\n","this is main thread");
printf("%s\n","i am waiting for sub thread join");
a+=1000;
pthread_join(id,NULL);
printf("%s\n","sub thread returned");
return 0;
}
某一次运行的结果是
this is main thread
i am waiting for sub thread join
this is a pthread 0
this is a pthread 1001
this is a pthread 1002
this is a pthread 1003
this is a pthread 1004
this is a pthread 1005
this is a pthread 1006
this is a pthread 1007
this is a pthread 1008
this is a pthread 1009
sub thread returned
另外一次运行的结果是
this is main thread
this is a pthread 0
this is a pthread 1
this is a pthread 2
i am waiting for sub thread join
this is a pthread 3
this is a pthread 1004
this is a pthread 1005
this is a pthread 1006
this is a pthread 1007
this is a pthread 1008
this is a pthread 1009
sub thread returned