一尘不染

分离与可连接的POSIX线程

linux

我一直在使用pthread库在C中创建和加入线程。

  1. 什么时候应该从一开始就创建分离的线程?与可连接线程相比,它具有任何性能优势吗?

  2. 不在pthread_join()可连接(默认)线程上执行合法操作吗?还是这样的线程应该在使用detach()之前始终使用该函数pthread_exit()


阅读 244

收藏
2020-06-02

共1个答案

一尘不染

  1. 当您知道不想等待时,创建一个分离线程pthread_join()。唯一的性能好处是,当分离的线程终止时,可以立即释放其资源,而不必等到线程加入后才可以释放资源。

  2. 不加入可连接的线程是“合法的”。但是通常不建议这样做,因为(如前所述)在线程加入之前,资源不会被释放,因此,如果您不加入线程,则资源将无限期地被束缚(直到程序退出)。

2020-06-02