我有一个守护进程,接受套接字连接并读取或写入一组动态文件,具体取决于连接的性质。由于我的守护进程是多线程的,存在同一文件可能被多个线程写入的可能性。因为我的文件列表是动态的而不是固定的,所以我不确定如何防止一个线程与另一个线程发生冲突。出于性能考虑,我希望线程在同时写入不同文件的情况下工作,但不能同时写入同一文件。
其他问题建议使用互斥锁,但我不太清楚互斥锁在这种情况下如何帮助 - 文件列表是动态的且仅已知于该线程。
在这种情况下,使用文件锁是否合适?如果是这样,如何以线程安全的方式实现文件锁定?
其他问题建议使用互斥锁,但我不太清楚互斥锁在这种情况下如何帮助 - 文件列表是动态的且仅已知于该线程。
在这种情况下,使用文件锁是否合适?如果是这样,如何以线程安全的方式实现文件锁定?
st_dev
/st_ino
组合进行哈希可能比文件名更好,因为与实际唯一标识文件的文件名不同。 - caf