在Linux/UNIX中加入pthreads的主要目的是什么?

在Linux/UNIX中加入pthreads的主要目的是什么?,linux,multithreading,unix,pthreads,Linux,Multithreading,Unix,Pthreads,我是一名学生,现在正在复习线程,尽管我非常仔细地阅读了TLPI,但对于为什么一个线程可以连接两个pthread,我仍然没有很好的理解 从我收集到的信息来看,它既可以用作一个线程向另一个线程传递返回值的方式,也可以用作线程之间的等待机制。也就是说,我完全有可能误解了整个要点。有人能给我解释一下吗?线程主要用于并行处理加入/退出线程意味着线程的工作/目的已经完成。当达到目的时,应释放资源,并将其提供给其他线程/进程。资源可以是以下任何一种: Stack(正如Basile Starynkevitch所

我是一名学生,现在正在复习线程,尽管我非常仔细地阅读了TLPI,但对于为什么一个线程可以连接两个pthread,我仍然没有很好的理解


从我收集到的信息来看,它既可以用作一个线程向另一个线程传递返回值的方式,也可以用作线程之间的等待机制。也就是说,我完全有可能误解了整个要点。有人能给我解释一下吗?

线程主要用于并行处理加入/退出线程意味着线程的工作/目的已经完成。当达到目的时,应释放资源,并将其提供给其他线程/进程。资源可以是以下任何一种:

  • Stack(正如Basile Starynkevitch所说)
  • 处理器时间
  • 打开的文件/共享内存/线程锁定/预订的任何其他资源

  • 连接线程可以通过移动控件来完成,也可以通过将值作为返回值传输来完成(正如Michael Burr所说)。

    连接未分离的线程是恢复所有资源(尤其是其堆栈空间)的唯一方法使用…主要原因是您可以知道线程何时完成(如果您对此感兴趣,可以收集任何返回值)。所以,这是你收集到的。