当前位置: 技术问答>linux和unix
求教,关于pthread_join 以及线程之间关系的问题
来源: 互联网 发布时间:2017-01-31
本文导语: 程序结构如下: fun1() { pthread_t pid2;//数据类型忘了怎么写,就是线程ID的类型 …… pthread_create(pid2,fun2,……); …… pthread_join(pid2); } fun2() { …… } main() { pthread_t pid1;//数据类型忘了怎么写,...
程序结构如下:
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)吗?
刚学习这方面的知识,不是很明白啊,求教!!!
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
pthread_join(pid2)阻塞pid1
主线程可join pid2
|
同一个进程里任意线程可以join任意线程、
|
同一个进程里任意线程“地位平等”