gpt4 book ai didi

linux - FreeBSD 在 Linux 中的 __isthreaded 等价物

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:34:51 25 4
gpt4 key购买 nike

FreeBSD 的 stdio.h 有一个变量 '__isthreaded' 的外部声明。在进程创建线程之前,此变量为零。它用于避免在不需要时调用 libc 中的锁定函数。

但这不是检查线程是否存在的可移植方法。 Linux 不支持这个。我们在 Linux 中有任何等效的变量或 API 吗?我正在尝试将一些代码从 FreeBSD 移植到 Linux。

在此先感谢您的帮助。

最佳答案

glibc 为提供几乎相同的功能所做的是为 glibc 中的大多数 pthread 库定义 stub 函数。这些调用什么也不做,而且速度非常快。

一旦链接了 libpthread.so,它的符号就会覆盖弱 glibc 符号,然后调用真正的函数。

因此包含 pthread 并调用锁定函数,但不要与其链接。

关于linux - FreeBSD 在 Linux 中的 __isthreaded 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com