我们说我:
malloca pthread_t用于保存线程上下文
pthread_create使用as用户参数指向pthread_t结构的指针
换句话说,线程函数可以访问其pthread_t上下文结构.现在这里是棘手的一点:
pthread如何自行退出并pthread_t以某种方式释放上下文?即是否可能不涉及父线程?(没有互斥/加入等)
把它想象成一个"轻量级过程".
(并且free()在退出之前没有线程不能结构thread_func.
Mat*_*ner 12
在pthread_t创建线程,当您收到仅仅是它的ID,用来指从其他线程的线程.
要在线程终止时自动释放线程上下文,您应该使用它从父线程中分离它 pthread_detach()
如果你将指针传递给pthread_t从初始返回的指针pthread_create(),你可以free()直接在新线程的启动例程中.如果需要再次引用pthread_t当前线程的值,只需调用即可pthread_self().然而pthread_t,在父线程中分配堆栈会更容易,而根本不需要将它传递给子线程(或者更传递更有用的东西).
void *child_routine(void *arg)
{
    pthread_t thread = pthread_self();
}
void parent()
{
    pthread_t thread;
    pthread_create(&thread, NULL, child_routine, NULL);
    pthread_detach(thread);
}