下面这样使用pthread_create会不会出错?
void myFunction(){
thread_t myThread;
pthread_create(&myThread,0,myRoutine,0);
}
我不确定使用局部变量 myThread
是否会导致错误,因为它在 myFunction()
退出时不再存在。
函数退出时myThread
的内存还能在内核中使用吗?
我不需要存储在 myThread
中的线程 ID,所以我不想分配内存并再次释放它。
最佳答案
您不应该让线程“刚刚结束”,因为这肯定会导致问题。如果您希望线程在它成功时结束,您至少应该使用 pthread_detach
,此时线程完全是“独立的”,应该可以让它保持原状。
关于c++ - 以局部变量为参数的 pthread_create,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18615445/