次のシナリオがあります。
いくつかの引数を使用してオブジェクトを作成できます。オブジェクトは非同期に (を使用してboost::thread
) 1 つのディレクトリに読み込まれます。このディレクトリには多くのサブディレクトリと多くのファイルがあり、ディスク上の特定のディレクトリに保存されます。ファイルは Web などから読み込むことができ、ジョブが完了するまでに数分かかる場合があります。
オブジェクトを作成した直後に、特定のファイルをロードしたい場合があります。現在、ファイルが存在するかどうかを確認しています(つまり、スレッドが既にダウンロードしていることを意味します)。そうでない場合は、thread.join()
すべてのファイルがロードされていることを確認するか、100 ms または sth ごとにファイルの存在を確認するために呼び出すことができます。しかし、それをより良く行う方法はありますか?つまり、ジョブを実行しているスレッドが、必要なファイルがロードされたときに、そのようなコールバックまたは sth を使用して通知しますか?