次の方法で共有


source_block::reserve メソッド

この source_block オブジェクトによって以前に提供されたメッセージを予約します。

virtual bool reserve(
   runtime_object_identity _MsgId,
   ITarget<_Target_type> * _PTarget
);

パラメーター

  • _MsgId
    提供された message オブジェクトの runtime_object_identity

  • _PTarget
    reserve メソッドを呼び出しているターゲット ブロックへのポインター。

戻り値

メッセージが正常に予約された場合は true。それ以外の場合は false。 他のターゲットによってメッセージが既に予約または受け入れられている場合や、ソースが予約を拒否した場合など、さまざまな理由で予約が失敗することがあります。

解説

_PTarget パラメーターが NULL の場合、このメソッドは invalid_argument 例外をスローします。

reserve の呼び出しが成功した後で、メッセージの所有権を取得するには consume を呼び出し、放棄するには release を呼び出す必要があります。

必要条件

ヘッダー: agents.h

名前空間: Concurrency

参照

参照

source_block クラス