2012年(67)
分类: LINUX
2012-04-19 18:06:04
thread_join.c源代码:
#include
#include
#include
void *thread(void *str) //返回指针值的函数
{
int i;
for (i = 0; i < 10; ++i)
{
1 sleep(2);
printf( "This in the thread : %d\n" , i );
}
return NULL;
}
int main()
{
pthread_t pth;
int i;
int ret = pthread_create(&pth, NULL, thread, (void *)(i));
2 pthread_join(pth, NULL);
printf("123\n");
for (i = 0; i < 10; ++i)
{
3 sleep(1);
printf( "This in the main : %d\n" , i );
}
return 0;
}
//1:(注释掉1时)
由于有2的存在所以线程pth,再返回到进程。
运行结果:
tu1
//2:(注释掉2时)
因为有3的存在所以是进程先打印,但是线程pth会插入以下,这个和1有密切关系:1时间长了可能差不进去,遇过也把1注释掉,那么会插进去的。
tu2
//3:(注释掉3时)
因为有2存在所以结果和//1一样。