【发布时间】:2014-07-03 12:00:37
【问题描述】:
我有很多目录需要与 sqlite 数据库同步。数据库应该将文件内容存储在这些目录中。 为此,我创建了一个线程(最低优先级),不断寻找目录中的更改。然而,这个线程使用一个核心的 100% 的 cpu。 有没有更好的方法来同步文件?可能是在创建或删除文件时发出信号的侦听器?
谢谢, 问候安德里亚
【问题讨论】:
标签: c++ qt sqlite file filesystems
我有很多目录需要与 sqlite 数据库同步。数据库应该将文件内容存储在这些目录中。 为此,我创建了一个线程(最低优先级),不断寻找目录中的更改。然而,这个线程使用一个核心的 100% 的 cpu。 有没有更好的方法来同步文件?可能是在创建或删除文件时发出信号的侦听器?
谢谢, 问候安德里亚
【问题讨论】:
标签: c++ qt sqlite file filesystems
您可以使用 QFileSystemWatcher。
来自 Qt 文档:
QFileSystemWatcher 类提供了一个接口来监视文件和目录的修改。 QFileSystemWatcher 通过监视指定路径的列表来监视文件系统对文件和目录的更改。 当文件被修改、重命名或从磁盘中删除时,会发出 fileChanged() 信号。类似地,当目录或其内容被修改或删除时,会发出 directoryChanged() 信号。请注意,一旦文件被重命名或从磁盘中删除,QFileSystemWatcher 就会停止监视文件,一旦它们从磁盘中删除,就会停止监视目录。
【讨论】: