c - 在 Linux 中使用 pthread 时,是否必须在线程结束后关闭线程?
问题描述
在 WinAPI 中,如果您创建了一个线程并且该线程随后结束,您仍然必须在线程句柄上调用CloseHandle()。
在 Linux 中使用 pthreads 时,是否还必须在线程结束后关闭线程?
解决方案
pthreads 中的等价物是调用pthread_join()
线程(这将阻塞直到线程退出,如果它还没有退出的话)。
您还可以选择使用 with 分离线程pthread_detach()
(或使用with的attr
参数创建分离的线程),这意味着不再需要加入线程。pthread_create()
pthread_attr_setdetachstate()
推荐阅读
- java - 无法在 Java 中加载最初在 python 中创建的 tensorflow 模型(找不到文件异常)
- javascript - 单击表格行时记录 JSON 字段
- laravel - 如何使用 laravel eloquent 删除和更新关系表上的数据?
- git - 从本地仓库直接推送到新机器
- spring - 先前配置的环境中的 R2dbc
- vim - 如何在 Vim 中打开文件
- r - 为数据创建 5 秒的间隔并将它们分组
- c# - 如何在后台启动服务(应用程序未运行时)?
- javascript - 为什么我的 JavaScript 构造函数返回默认属性值而不是修改后的值?
- zend-framework2 - php单元测试用例总是失败