readdir_r弃用的性能影响?

问题描述 投票:0回答:1

[当我在新工作站上重新编译FUSE文件系统时,我注意到有关readdir_r的弃用警告。由于readdir不是MT Safe,并且需要自己进行同步,所以我有些困惑。

我不确定MT Safe到底不是什么-仅是readdir还是整个读取特定目录的整个过程?似乎标准试图通过指出readdir如果在不同的目录中被调用为MT安全来证明这一决定的合理性,但是如果您的“程序”是多用户覆盖FUSE文件系统,则显然不是安全的假设。因此,我应该将整个目录读取过程放在关键部分还是仅在单个readdir调用中放置?

老实说,从性能的角度来看,这两种情况对我来说都非常糟糕-我的担忧是否正确?或者Linux内核中是否存在其他瓶颈,使得无论如何都无法通过多个进程/线程对单个目录执行并行读取?] >

[当我在新工作站上重新编译FUSE文件系统时,我注意到有关readdir_r的弃用警告。由于readdir不是MT Safe,并且需要自己进行同步,因此我有些困惑。我是...

c multithreading thread-safety deprecated readdir
1个回答
1
投票

在当前POSIX.1规范(POSIX.1-2008)中,readdir(3)为不需要是线程安全的。但是,在现代实现(包括glibc实现),并发调用readdir(3)来指定不同的目录流是线程安全的。

© www.soinside.com 2019 - 2024. All rights reserved.