我有一个线程将数据流写入目录中的文件中。数据流可以暂停任意长度的时间,就像写入连续的数据流一样容易。它一次写入一个文件,每当文件变得太大时,它就会关闭该文件并开始一个新文件。因此,应该以特定顺序读取文件以重建流。
另外,我有另一个进程(可能是几个)跟随数据流使用inotify来触发读取。这允许一对多的数据分发以及随时重播流的选项。
我关心的是如何正确处理阅读器中文件的切换。我不希望读者在最后一个文件完全写入之前开始处理下一个文件。
假设单个目录级别的 inotify 监视,是否保证 inotify 事件按照生成的顺序进行报告?它们是由单个线程生成的。他们有一个可证明的顺序。更具体地说,即使它们在技术上适用于不同的索引节点,是否IN_MODIFY
也保证以相同的顺序发生?IN_CREATE