同步文件与sqlite数据库qt c++

Sync files with sqlite database qt c++

本文关键字:qt c++ 数据库 sqlite 文件 同步      更新时间:2023-10-16

我有很多目录,我应该与sqlite数据库同步。数据库应该将文件内容存储在这些目录中。为此,我创建了一个线程(最低优先级),它不断查找目录中的更改。然而,这个线程使用了100%的单核cpu。有没有更好的方法来同步文件?也许是一个侦听器,在创建或删除文件时发出信号?

谢谢,关于安德里亚

你可以使用QFileSystemWatcher

From Qt Docs:

QFileSystemWatcher类提供了一个用于监视文件和目录以进行修改的接口。QFileSystemWatcher通过观察指定路径的列表来监视文件系统中文件和目录的更改。fileChanged()信号在文件被修改、重命名或从磁盘删除时发出。类似地,当目录或其内容被修改或删除时,会发出directoryChanged()信号。注意,一旦文件被重命名或从磁盘中删除,QFileSystemWatcher就会停止监视文件,一旦目录从磁盘中删除,QFileSystemWatcher就会停止监视。