source_block::consume 方法

使用先前由 source_block 对象提供并由目标成功保留的消息,将所有权转移给调用方。

virtual message<_Target_type> * consume(
   runtime_object_identity _MsgId,
   _Inout_ ITarget<_Target_type> * _PTarget
);

参数

  • _MsgId
    保留的 message 对象的 runtime_object_identity

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

返回值

调用方当前具有所有权的 message 对象的指针。

备注

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

如果参数 _PTarget 不表示称为 reserve 的目标,方法会引发 bad_target 异常。

consume 方法类似于 accept,但始终必须跟在返回 true 的对于 reserve 的调用之后。

要求

**标头:**agents.h

命名空间: 并发

请参见

参考

source_block 类