栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

pthread启动函数中的return()与pthread_exit()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pthread启动函数中的return()与pthread_exit()

(1)在C 代码中,using

return
导致
pthread_exit
取消堆栈堆栈和销毁局部变量,而只能保证调用已注册的取消处理程序
pthread_cancel_push()
。在某些系统上,此机制还将导致调用C


局部变量的析构函数,但是对于可移植代码而言,这是不能保证的—查看平台文档。

此外,在

main()
return
将隐式调用
exit()
,从而终止程序,而
pthread_exit()
只会终止线程,程序将继续运行,直到所有线程终止或某个线程调用
exit()
abort()
或终止程序的另一功能。

(2)使用

return
作品,因为POSIX规范是这样说的。返回的值存储在
pthread_join()
可以检索它的地方。在
pthread_join()
调用之前,不会回收线程使用的资源。

(3)我从不在原始POSIX线程中使用线程的返回值。但是,我倾向于使用更高级别的工具,例如Boost线程库,以及最近使用的C ++
0x线程库,它们提供了在线程之间传递值(例如Future)的替代方法,从而避免了与内存管理相关的问题。暗示。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399160.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号