我从opengroup.org阅读了两个手册页(ftw和nftw),所以我认为ftw()和nftw()不能保证线程安全。
但是我在man7.org上找到了另一个关于这些函数的page,上面写着ftw()是MT-safe,nftw()是MT-safe cwd。
在这个page中,这些函数都在线程安全异常列表中。
到目前为止,我仍然相信这些函数不能保证线程安全。但是我想知道为什么this说ftw()是MT安全的。
为什么man7.org的页面说ftw()是MT-safe?
它是基于POSIX标准吗?
发布于 2018-10-24 18:46:58
事实上,POSIX说一个函数不是多线程安全的,这仅仅意味着“不能保证它是多线程安全的”,所以你不能期望它是多线程安全的,也不能相信它是多线程安全的。然而,这并不意味着禁止实现使其多线程安全。实现可能总是应用比标准要求更强的保证,它们只是不能应用更弱的保证。
https://stackoverflow.com/questions/52962897
复制相似问题