私はReadDirectoryChangesW()
のドキュメントを読んでいて、CDirectoryChangeWatcher
projectも見ていますが、どちらもと言うわけではありません。なぜなら、は非同期的に呼びたいと思っています。 現在のスレッドはブロックされませんが、完了ポートを使用するCDirectoryChangeWatcherコードでは、少なくともGetQueuedCompletionStatus()
、、スレッドブロック(変更がない場合)が呼び出されます。なぜReadDirectoryChangesWを非同期で使用するのですか?
ReadDirectoryChangesW()
を私が最初にブロックすると気にしない別のスレッドで同期的に呼び出すと、ReadDirectoryChangesW()
を非同期に呼び出す必要があるのはなぜですか?
いい理由はないと言っていますか?私が最初に言ったように、現在のスレッドがブロックするかどうか気にするならば、ブロックするかどうか気にしない別のスレッドを作成します。 –
スレッドの作成は必ずしも良い(良い)選択肢ではなく、APIはできるだけ多くのユーザーを試してサービスするため、asyncオプションを使用します。 –