主题说明了一切 - 通常简单和跨平台的方式是智能地轮询.但是每个操作系统都有一些无需轮询即可通知的方法.是否有可能以合理的跨平台方式?(我只关心Windows和Linux,但我使用mac,所以我认为posix可能有帮助?)
Linux用户可以使用inotify
inotify是一个Linux内核子系统,提供文件系统事件通知.
Windows研究员的一些好东西:
MSDN上的文件更改通知
" 文件夹更改时 "文章
变更文件系统通知
Qt库有一个QFileSystemWatcher类,它在文件更改时提供跨平台通知.即使您没有使用Qt,因为源代码可用,您可以将其作为自己实现的示例.Qt有针对Windows,Linux和Mac的单独实现.