我有很多目录应该与sqlite db同步。数据库应该将文件内容存储在这些目录中。 为此,我创建了一个不断寻找目录变化的线程(最低优先级)。但是这个线程使用100%的一个核心的CPU。 有更好的方法来同步文件吗?也许是一个在创建或删除文件时发出信号的监听器?
谢谢, 关心安德烈
答案 0 :(得分:3)
您可以使用QFileSystemWatcher。
来自Qt Docs:
QFileSystemWatcher类提供了一个用于监视文件和目录以进行修改的接口。 QFileSystemWatcher通过观察指定路径列表来监视文件系统中文件和目录的更改。 文件被修改,重命名或从磁盘中删除时会发出fileChanged()信号。同样,当修改或删除目录或其内容时,会发出directoryChanged()信号。请注意,一旦文件从磁盘重命名或从磁盘中删除,QFileSystemWatcher就会停止监视文件,一旦文件从磁盘中删除,就会停止监视。