我有一个目录更改监控进程,它从一组目录中的文件中读取更新。我有另一个进程对这些目录(测试程序)中的大量文件执行少量写入。图大约100个目录,每个目录有10个文件,每秒大约有500个文件被修改。运行一段时间后,目录监视器进程在调用fclose()时挂起,该方法基本上是跟踪文件。在此方法中,我fopen()文件,检查句柄是否有效,进行几次查找和读取,然后调用fclose()。这些读取都是由进程中的同一个线程执行的。挂起后,线程不再继续。关于为什么fclose()可能死锁而不是返回某种错误代码,我找不到任何有用的信息。该文档确实提到了_fclose_nolock(),但我似乎无法使用它(Vi