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
命名空间: 并发