要创建可拆卸的Posix线程,有两种解决方案:
pthread_attr_t ThreadAttr; pthread_attr_init(安培; ThreadAttr); pthread_attr_setdetachstate(& ThreadAttr,PTHREAD_CREATE_DETACHED);在pthread_create(...); pthread_attr_destroy(安培; ThreadAttr)
pthread_detach(...)
Prois&各解决方案的结合?
答案 0 :(得分:0)
pthread_detach
的语法更简单。基于线程属性的方法为实现提供了优化新线程创建的机会,因为它不必支持线程上pthread_detach
或pthread_join
的未来调用。
此外,根据POSIX,将detachstate属性设置为PTHREAD_CREATE_DETACHED
是创建不可连接线程的唯一方法,pthread_detach
不会将可连接线程转换为不可连接线程。但是glibc gets this wrong,所以对你来说可能并不重要。