タスクAが完了オブジェクトで実行する前に(タスクBcomplete_all()
から)完了オブジェクトでが呼び出された場合はどうなりますか?待機時にオブジェクトがすでに完了していてすぐに戻るかどうかを確認するためのAPIはありますか?1つの方法は、メッセージを送信する前にロックされ、待機する前にロック解除されるを使用することです。そのロックは前に取得し、後で解放する必要がありますが、よりクリーンでより良い方法があるかどうか疑問に思っています。どんなアイデアでも大歓迎です。wait_for_completion()
mutex
complete_all()
詳細コンテキスト: タスクAは完了オブジェクトを初期化し、完了オブジェクトのアドレスとともにタスクBに要求を送信してから、完了を待ちます。タスクBは、メッセージを取得したときに何らかの処理を実行してcomplete_all()
から、完了オブジェクトに対して実行します。