我如何知道Linux系统调用是否是线程安全的?

2024-01-21

Linux 中的一些函数通过 _r 标记“线程安全”(例如 gmtime_r ) 但大多数系统调用都没有被标记,也没有在联机帮助页中提及。 所以我的问题是: 我如何知道Linux系统调用是否是线程安全的? 谢谢你!


我认为你的意思是“库函数”;由于对线程的内核端数据进行操作,系统调用应该是线程安全的。

答案是:检查相关函数的手册页。 “_r”变体是专门为不可重入的函数提供的,这意味着传递给它们的额外参数是在非“_r”版本中静态声明和修改的。

大多数 glibc 应该是 IIRC 线程安全的,但是你always需要检查手册页;或者,如果您不信任这些,也可以信任代码本身。没有什么灵丹妙药可以免除您理解所针对的接口的责任。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何知道Linux系统调用是否是线程安全的? 的相关文章

随机推荐