我手边有一个问题。我先来描述一下我的问题。我有一个多线程应用程序,并且一个线程已经打开了一个文件,说abc.txt用于使用fstream
进行写入。另一个线程同时使用fstream
打开它进行阅读。现在,当第一个线程处理时,第二个线程发现该文件为空,并取消链接。第一个线程在结束调用后处理,flush方法写入文件。
此方案导致我的应用程序出现混乱。任何人都可以建议有什么方法可以检查我的第二个线程,该文件是否已被其他流写入文件?是否在文件属性中设置了相同的位以及如何使用它?
注意:我的集群系统不支持flock。
提前致谢!