求教,关于pthread_join 以及线程之间关系的问题
程序结构如下:
fun1()
{
pthread_t pid2;//数据类型忘了怎么写,就是线程ID的类型
……
pthread_create(pid2,fun2,……);
……
pthread_join(pid2);
}
fun2()
{
……
}
main()
{
pthread_t pid1;//数据类型忘了怎么写,就是线程ID的类型
……
pthread_create(pid1,fun1,……);
……
}
现在的问题是:
1.pid2算是主线程的子线程还是pid1的子线程啊,如果是pid1的子线程那么他和主线程是什么关系啊
2.fun1()的pthread_join(pid2)是阻塞pid1呢还是阻塞主线程呢
3.主线程中可以pthread_join(pid2)吗?
刚学习这方面的知识,不是很明白啊,求教!!!
------解决方案--------------------
pid2是pid1的子线程
pthread_join(pid2)阻塞pid1
主线程可join pid2
------解决方案--------------------同一个进程里任意线程可以join任意线程、
------解决方案--------------------同一个进程里任意线程“地位平等”