single_assignment 類別
single_assignment 傳訊區塊是多目標、多來源的排序 propagator_block,能夠儲存寫入一次的單一 message。
template<
class _Type
>
class single_assignment : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;
參數
- _Type
緩衝區預存及傳播的訊息的承載類型。
Members
公用建構函式
名稱 |
描述 |
---|---|
多載。建構 single_assignment 傳訊區塊。 |
|
終結 single_assignment 傳訊區塊。 |
公用方法
名稱 |
描述 |
---|---|
會檢查這個 single_assignment 傳訊區塊是否已初始化並具有值。 |
|
取得訊息目前承載的參考,該訊息目前存放在 single_assignment 傳訊區塊中。 |
受保護的方法
名稱 |
描述 |
---|---|
接受這個 single_assignment 傳訊區塊所提供的訊息,將訊息複本傳回給呼叫端。 |
|
會將訊息複本傳回至呼叫端,使用 single_assignment 先前提供並由目標保留的訊息。 |
|
通知已有新目標與這個 single_assignment 傳訊區塊相連結的回呼。 |
|
以非同步方式將訊息從 ISource 區塊傳遞到這個 single_assignment 傳訊區塊。會於來源區塊呼叫時由 propagate 方法叫用。 |
|
將 message_PMessage 置於此 single_assignment 傳訊區塊中,並將它提供給所有連結目標。 |
|
會釋放前一個訊息保留項目。(會覆寫 source_block::release_message)。 |
|
會保留先前由這個 single_assignment 傳訊區塊所提供的訊息。(會覆寫 source_block::reserve_message)。 |
|
釋放保留項目之後繼續傳播。(會覆寫 source_block::resume_propagation)。 |
|
以同步方式將訊息從 ISource 區塊傳遞到這個 single_assignment 傳訊區塊。會於來源區塊呼叫時由 send 方法叫用。 |
備註
single_assignment 傳訊區塊會傳播出每個目標其訊息的複本。
如需詳細資訊,請參閱 非同步訊息區。
繼承階層架構
single_assignment
需求
標頭: agents.h
Namespace: 並行存取