choice 類別
choice 傳訊區塊是多來源的單一目標區塊,代表與一組來源的控制流程互動。選擇區塊會等候多個來源的其中一個來產生訊息,而且會傳播產生訊息之來源的索引。
template<
class _Type
>
class choice: public ISource<size_t>;
參數
- _Type
以 tuple 為基礎的類型,代表輸入來源的承載。
Members
公用 Typedefs
名稱 |
描述 |
---|---|
type |
_Type 的型別別名。 |
公用建構函式
名稱 |
描述 |
---|---|
多載。建構 choice 傳訊區塊。 |
|
終結 choice 傳訊區塊。 |
公用方法
名稱 |
描述 |
---|---|
接受這個 choice 區塊所提供的訊息,將擁有權轉移至呼叫端。 |
|
取得這個 choice 傳訊區塊的參考計數,以防止刪除。 |
|
會將擁有權轉移至呼叫端,使用此 choice 傳訊區塊先前提供並由目標成功保留的訊息。 |
|
會檢查這個 choice 傳訊區塊是否已初始化並具有值。 |
|
傳回索引至代表 choice 傳訊區塊所選取之項目的 tuple。 |
|
連結目標區塊與這個 choice 傳訊區塊。 |
|
會釋放前一個成功的訊息保留項目。 |
|
釋放此 choice 傳訊區塊的參考計數。 |
|
會保留先前由這個 choice 傳訊區塊所提供的訊息。 |
|
將目標區塊與這個 choice 傳訊區塊中斷連結。 |
|
將所有目標與這個 choice 傳訊區塊中斷連結。(會覆寫 ISource::unlink_targets)。 |
|
取得由 choice 傳訊區塊選取其索引的訊息。 |
備註
選擇區塊可確保只使用其中一個內送訊息。
如需詳細資訊,請參閱 非同步訊息區。
繼承階層架構
choice
需求
標頭: agents.h
Namespace: 並行存取