linux - pthread_exit() 对可连接线程的资源有什么影响?
问题描述
手册页中描述的调用效果pthread_exit()
如下:
任何由 pthread_cleanup_push(3) 建立的尚未弹出的清理处理程序都将被弹出(与它们被推送的顺序相反)并执行。如果线程有任何线程特定的数据,则在执行清理处理程序后,会以未指定的顺序调用相应的析构函数。
所以它声明一些线程资源将在此后不久释放。但是,有可加入的线程,其资源的释放与加入的事件相关。
我怎样才能把这两个想法联系起来?如果可加入线程调用pthread_exit()
不应该在该线程加入之前执行其资源析构函数?可能它的清理处理程序也必须等待这个事件,或者不是?
解决方案
推荐阅读
- javascript - Uncaught SyntaxError: Unexpected token < inside JS file when importing into HTML
- java - Flink:如何在使用 writeFileAsText(path) 写入文件时传递动态路径?
- es6-modules - 使用 Rollup 解析从 URL 导入的 ES6 模块
- excel - VBA TextToColumns 格式自动从 24 小时到 12 小时
- sql-server - [Microsoft][ODBC SQL Server Driver][SQL Server]'@errno' 附近的语法不正确
- ruby-on-rails - 适用于 Ruby on Rails 的 Instagram Webhook
- c++ - 在 C++ 中,从一个线程写入并从另一个线程读取时,向量线程是否安全?
- laravel - Laravel 创建相关模型视图,传递预填充值
- javascript - jQuery 验证删除错误消息而不是显示:无
- python - 使用 olefile 从 Word .doc 中提取文本