我还没有经常使用线程,但想知道如何确保线程已经启动(它将一直运行直到系统关闭,我只是在创建时使用默认属性)。
我已经用Google搜索了这一点,但对于没有终止,让thread_join等待它们的线程没有任何内容 - 我不需要或者想要等待它终止
pthread_attr_t attr = { 0 };
pthread_t TID = 0;
pthread_attr_init(&attr);
if (!pthread_create(&TID, &attrSys, &threadProcess, NULL))
std::cout << "Error on thread create." << std::endl;
这足以保证线程实际上已经启动了吗?我查看了TID.joinable(我的编译器抱怨),尝试pthread_kill并查找错误(但由于线程ID在某些情况下不可靠而被打折)。
非常感谢。
答案 0 :(得分:0)
这是pthread_create
:
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
void *(*start_routine) (void *), void *arg);
pthread_create
会返回<errno.h>
代码:
成功时,pthread_create()
在出错时返回0;
,它会返回error
数字,*thread
的内容未定义。