source_block::reserve 方法

保留此 source_block 对象之前提供的消息。

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

参数

  • _MsgId
    所提供的 message 对象的 runtime_object_identity

  • _PTarget
    调用 reserve 方法的目标块的指针。

返回值

如果已成功保留该消息,则为 true;否则为 false。 保留可能因为众多原因失败,包括:消息已保留或已由另一目标接受,源可能拒绝保留等。

备注

该方法引发 invalid_argument 异常,前提是参数 _PTarget 为 NULL

在调用 reserve 之后,如果成功,则必须调用 consumerelease 以分别获取或放弃消息的所有权。

要求

**标头:**agents.h

**命名空间:**并发

请参见

参考

source_block 类