我有以下情况:
我可以创建一个带有一些参数的对象,它将异步加载(使用boost::thread
)一个目录,该目录将有许多子目录和许多文件,并保存到磁盘上的特定目录。这些文件可以从网络或其他任何地方加载,完成这项工作可能需要几分钟。
在创建对象之后,用户可能想要加载一个特定的文件。现在我正在检查文件是否存在(意味着线程已经下载了它),否则我可以调用thread.join()
以确保所有文件都已加载或每 100 毫秒检查文件是否存在或类似的东西。但是有没有办法做得更好,这意味着正在做他的工作的线程会在加载想要的文件时通知我,使用一些回调或类似的东西?