如何等待线程干净退出?
来源: 互联网 发布时间:2016-04-18
本文导语: 在linux下,使用pthread_create创建线程,有分离方式和非分离方式,我想问的是: (1) 在创建时,不指定属性,是否默认创建的就是分离方式? (2) 分离方式退出,是否安全,能否保证正确退出 (3) 如何实现非分离方...
在linux下,使用pthread_create创建线程,有分离方式和非分离方式,我想问的是:
(1) 在创建时,不指定属性,是否默认创建的就是分离方式?
(2) 分离方式退出,是否安全,能否保证正确退出
(3) 如何实现非分离方式安全退出,我目前使用的方法是,定义一个条件变量,在退出函数中等待这个条件变量,而在线程回调中出发条件变量,但是有个问题啊,必须是等待条件变量,然后触发,如果先触发了,在等待就不行,这和Windows的Event有点不一样啊,有没有好的方法呢?
(1) 在创建时,不指定属性,是否默认创建的就是分离方式?
(2) 分离方式退出,是否安全,能否保证正确退出
(3) 如何实现非分离方式安全退出,我目前使用的方法是,定义一个条件变量,在退出函数中等待这个条件变量,而在线程回调中出发条件变量,但是有个问题啊,必须是等待条件变量,然后触发,如果先触发了,在等待就不行,这和Windows的Event有点不一样啊,有没有好的方法呢?
|
1、默认是非分离的
2、如果不安全,不能保证正确退出,那不就成linux的bug了?
3、非分离安全退出不是用pthread_join就可以吗?
2、如果不安全,不能保证正确退出,那不就成linux的bug了?
3、非分离安全退出不是用pthread_join就可以吗?
|
init 3