join 類別
join 傳訊區塊是單一目標、多來源的排序 propagator_block,會與來自其每個來源的 _Type 類型訊息合併。
template<
class _Type,
join_type _Jtype = non_greedy
>
class join : public propagator_block<single_link_registry<ITarget<std::vector<_Type>>>, multi_link_registry<ISource<_Type>>>;
參數
_Type
區塊所聯結和傳播的訊息的承載類型。_Jtype
這個 join 區塊的種類是 greedy 或 non_greedy
成員
公用建構函式
名稱 |
說明 |
---|---|
多載。 建構 join 傳訊區塊。 |
|
終結 join 區塊。 |
受保護的方法
名稱 |
說明 |
---|---|
接受這個 join 傳訊區塊所提供的訊息,將擁有權轉移至呼叫端。 |
|
會將擁有權轉移至呼叫端,使用 join 傳訊區塊先前提供並由目標保留的訊息。 |
|
通知已有新目標與這個 join 傳訊區塊相連結的回呼。 |
|
以非同步方式將訊息從 ISource 區塊傳遞到這個 join 傳訊區塊。 會於來源區塊呼叫時由 propagate 方法叫用。 |
|
建構輸出訊息,其中包含每個來源全部傳播訊息時送出的傳入訊息。 將這個輸出訊息傳送至其每一個目標。 |
|
會釋放前一個訊息保留項目。(會覆寫 source_block::release_message)。 |
|
會保留先前由這個 join 傳訊區塊所提供的訊息。(會覆寫 source_block::reserve_message)。 |
|
釋放保留項目之後繼續傳播。(會覆寫 source_block::resume_propagation)。 |
備註
如需詳細資訊,請參閱非同步訊息區。
繼承階層
join
需求
標頭: agents.h
**命名空間:**concurrency