concurrency 命名空間

Concurrency 命名空間會提供可讓您存取並行執行階段 (也就是 C++ 專用的並行程式設計架構) 的類別和函式。 如需詳細資訊,請參閱並行執行階段

namespace concurrency;

Members

命名空間

名稱

描述

concurrency::extensibility Namespace

Typedef

名稱

描述

runtime_object_identity

每個訊息執行個體都有遵循複製和傳遞的訊息元件之間的識別。 這不可以是訊息物件的位址。

task_status

表示工作終結狀態的類型。 有效值為 completedcanceled

TaskProc

工作的基本抽象概念,定義為 void (__cdecl * TaskProc)(void *)。 會呼叫 TaskProc 來叫用工作的主體。

TaskProc_t

工作的基本抽象概念,定義為 void (__cdecl * TaskProc_t)(void *)。 會呼叫 TaskProc 來叫用工作的主體。

類別

名稱

描述

affinity_partitioner 類別

affinity_partitioner 類別與 static_partitioner 類別類似,不過,它由選擇對應背景工作執行緒範圍改善快取依存性。 當迴圈重複執行相同的資料集,且快取容得下資料集,它可以大幅改善效能。 請注意必須使用相同的 affinity_partitioner 物件與後續子執行序列的平行迴圈必須重複執行特定資料集以受益於資料依存性。

agent 類別

分類適用於做為所有獨立代理程式的基底類別。 它用來對其他代理程式隱藏狀態,並使用訊息傳遞互動。

auto_partitioner 類別

auto_partitioner 類別表示預設方法 parallel_forparallel_for_eachparallel_transform 使用它分割已經遍歷的範圍。 這種分割方法使用範圍竊取以達成負載平衡及每迭代抵銷。

bad_target 類別

這個類別描述每當傳訊區塊獲得目標的指標,而此目標對所執行的作業來說並不正確時所擲回的例外狀況。

call 類別

call 傳訊區塊是一個多來源的排序 target_block, 接收訊息時會叫用指定的函式。

cancellation_token 類別

cancellation_token 類別表示可判斷某個作業是否已要求取消的能力。 特定語彙基元可以與 task_groupstructured_task_grouptask 產生關聯,來提供隱含取消。 如果與相關聯的 cancellation_token_source 已取消,也可以向它輪詢取消,或為它註冊回呼。

cancellation_token_registration 類別

cancellation_token_registration 類別表示來自 cancellation_token 的回呼通知。 當 cancellation_tokenregister 方法用來接收發生取消的通知時,則會傳回 cancellation_token_registration 物件做為回呼的控制代碼,讓呼叫端可以要求不再透過使用 deregister 方法發出的特定回呼。

cancellation_token_source 類別

cancellation_token_source 類別表示取消某個可取消作業的能力。

choice 類別

choice 傳訊區塊是多來源的單一目標區塊,代表與一組來源的控制流程互動。 選擇區塊會等候多個來源的其中一個來產生訊息,而且會傳播產生訊息之來源的索引。

combinable 類別

combinable<T> 物件適用於提供資料的執行緒私用複本,在平行演算法期間執行無鎖定的執行緒-本機子運算。 在平行作業結尾處,可以將執行緒私用子運算合併於最終結果。 這個類別可以用來代替共用變數,而且如果該共用變數有許多爭用情形,則可能可以改進效能。

concurrent_priority_queue 類別

concurrent_priority_queue 類別允許多個執行緒同時推入和移除項目。 項目會以優先權順序做為移除依據,而優先權由函子提供的樣板引數決定。

concurrent_queue 類別

concurrent_queue 類別序列容器類別,允許以先進先出的方式存取其項目。 它啟用一組有限的並行安全作業,例如 pushtry_pop 等。

concurrent_unordered_map 類別

concurrent_unordered_map 類別是並行安全容器,控制類型 std::pair<const _Key_type, _Element_type> 的項目的不同長度序列。 序列的表示方式導致啟用並行安全附加、項目存取、迭代器存取及迭代器周遊作業。

concurrent_unordered_multimap 類別

concurrent_unordered_multimap 類別是並行安全容器,控制類型 std::pair<const _Key_type, _Element_type> 的項目的不同長度序列。 序列的表示方式導致啟用並行安全附加、項目存取、迭代器存取及迭代器周遊作業。

concurrent_unordered_multiset 類別

concurrent_unordered_multiset 類別是並行安全容器,控制類型 _Key_type 的項目的不同長度序列。 序列的表示方式導致啟用並行安全附加、項目存取、迭代器存取及迭代器周遊作業。

concurrent_unordered_set 類別

concurrent_unordered_set 類別是並行安全容器,控制類型 _Key_type 的項目的不同長度序列。 序列的表示方式導致啟用並行安全附加、項目存取、迭代器存取及迭代器周遊作業。

concurrent_vector 類別

concurrent_vector 類別序列容器類別,允許以隨機方式存取任何項目。 它會啟用並行安全附加、項目存取、迭代器存取及 迭代器遍歷作業。

Context 類別

代表執行內容的抽象概念。

context_self_unblock 類別

這個類別描述從同樣的內容呼叫 Context 物件的 Unblock 方法所擲回的例外狀況。 這會指出指定內容自行解除封鎖的嘗試。

context_unblock_unbalanced 類別

這個類別描述當 BlockUnblock Context 物件的方法呼叫未正確配對時擲回的例外狀況。

critical_section 類別

明確察覺並行執行階段的 Non-reentrant Mutex。

CurrentScheduler 類別

代表與呼叫內容相關之目前排程器的抽象概念。

default_scheduler_exists 類別

這個類別描述預設排程器已經存在於處理序中時呼叫 Scheduler::SetDefaultSchedulerPolicy 方法所擲回的例外狀況。

event 類別

並行執行階段明確察覺的手動重設事件。

improper_lock 類別

這個類別描述以不當的方式取得鎖定時擲回的例外狀況。

improper_scheduler_attach 類別

這個類別描述當 Attach 物件已經附加到目前的內容上時呼叫 Scheduler 方法擲回的例外狀況。

improper_scheduler_detach 類別

這個類別描述當尚未使用 Scheduler 物件的 Attach 方法將內容附加至任何排程器時呼叫 CurrentScheduler::Detach 方法所擲回的例外狀況。

improper_scheduler_reference 類別

這個類別描述將從不屬於排程器的內容關閉 Scheduler 物件上呼叫 Reference 方法所擲回的例外狀況。

invalid_link_target 類別

這個類別描述呼叫傳訊區塊的 link_target 方法,但傳訊區塊無法連結至目標時所擲回的例外狀況。 這是超過傳訊區塊允許連結數目或嘗試將特定目標連結至相同的來源兩次的結果。

invalid_multiple_scheduling 類別

這個類別描述使用 task_groupstructured_task_group 物件的 run 方法多次排程 task_handle 物件時擲回例外狀況,而不中間變更呼叫 waitrun_and_wait 方法。

invalid_operation 類別

這個類別描述執行無效的作業且該並行執行階段未正確描述該作業時擲回的例外狀況。

invalid_oversubscribe_operation 類別

這個類別描述將 _BeginOversubscription 參數設為 false 來呼叫 Context::Oversubscribe 方法,而不先將 _BeginOversubscription 參數設為 true 來呼叫 Context::Oversubscribe 方法,會擲回例外狀況。

invalid_scheduler_policy_key 類別

這個類別描述將非無效或未知的金鑰傳遞給 SchedulerPolicy 物件建構函式,或將必須使用其他方式 (如 SetConcurrencyLimits 方法) 變更的機碼傳遞給SchedulerPolicy 物件的 SetPolicyValue 方法時所擲回的例外狀況。

invalid_scheduler_policy_thread_specification 類別

這個類別描述嘗試設定 SchedulerPolicy 物件的並行存取限制,以致 MinConcurrency 機碼的值小於 MaxConcurrency 機碼的值時擲回的例外狀況。

invalid_scheduler_policy_value 類別

這個類別描述每當將 SchedulerPolicy 物件的原則機碼設為不正確的機碼值時擲回的例外狀況。

ISource 類別

ISource 類別是所有來源區塊的介面。 來源區塊會將訊息傳播至 ITarget 區塊。

ITarget 類別

ITarget 類別是所有目標區塊的介面。 目標區塊會使用 ISource 區塊提供給它們的訊息。

join 類別

join 傳訊區塊是單一目標、多來源的排序 propagator_block,會與來自其每個來源的 _Type 類型訊息合併。

location 類別

一個硬體的抽象實體位置。

message 類別

基本訊息信封,包含在傳訊區塊之間傳遞的資料承載。

message_not_found 類別

這個類別描述傳訊區塊找不到所要求之訊息時擲回的例外狀況。

message_processor 類別

message_processor 類別是處理 message 物件的抽象基底類別。 不保證訊息順序。

missing_wait 類別

這個類別描述 task_groupstructured_task_group 物件的建構函式執行時若仍有工作排程至該物件所擲回的例外狀況。 如果例外狀況導致堆疊回溯而達到解構函式,永遠不會擲回此例外狀況。

multi_link_registry 類別

multi_link_registry 物件是管理多個來源區塊或多個目標區塊的 network_link_registry

multitype_join 類別

multitype_join 傳訊區塊是多來源的單一目標傳訊區塊,會與來自其來源的不同類型訊息合併,並且為其目標提供 Tuple 合併的訊息。

nested_scheduler_missing_detach 類別

這個類別描述當並行執行階段偵測到您忘了使用 Scheduler 物件的 Attach 方法在附加到第二個排程器上呼叫 CurrentScheduler::Detach 方法時擲出的例外狀況。

network_link_registry 類別

network_link_registry 抽象基底類別會管理來源和目標區塊之間的連結。

operation_timed_out 類別

這個類別描述作業逾時擲回的例外狀況。

ordered_message_processor 類別

ordered_message_processormessage_processor,可讓訊息區塊按照接收順序處理訊息。

overwrite_buffer 類別

overwrite_buffer 傳訊區塊是多目標、多來源的排序 propagator_block,一次能夠存放一個訊息。 新訊息覆寫先前保留的訊息。

progress_reporter 類別

進度報告者類別允許報告特定類型的進度通知。 每個 progress_reporter 物件都會繫結至特定非同步動作或作業。

propagator_block 類別

propagator_block 類別是同時為來源和目標之訊息區塊的抽象基底類別。 它結合 source_blocktarget_block 類別的功能。

reader_writer_lock 類別

以寫入器偏好設定佇列為基礎且只能本機微調的讀取器-寫入器鎖定。 鎖定授與先進先出 (FIFO) 存取至寫入器,並且會在連續載入寫入器的情況下影響讀取器。

ScheduleGroup 類別

代表排程群組的抽象概念。 排程群組會組織一組相關的工作,這些工作受益於透過在同一個群組中執行另一個工作再移至另一個群組、透過再同一個 NUMA 節點或實體通訊端的同一個群組內執行多個項目而暫時緊密地排程在一起。

Scheduler 類別

代表並行執行階段排程器的抽象概念。

scheduler_not_attached 類別

這個類別描述作業需要將排程器附加至目前內容,而卻沒有這麼做時所擲回的例外狀況。

scheduler_resource_allocation_error 類別

這個類別描述因無法在並行執行階段中取得關鍵來源而擲回的例外狀況。

scheduler_worker_creation_error 類別

這個類別描述因為無法建立並行執行階段中的背景工作執行內容而擲回的例外狀況。

SchedulerPolicy 類別

SchedulerPolicy 類別包含一組索引鍵/值組,每個原則項目一個,可控制排程器執行個體的行為。

simple_partitioner 類別

simple_partitioner 類別表示 parallel_for靜態分割它所遍歷的範圍。 分割者將這個範圍分割成區塊,每個區塊都有區塊大小指定的反覆項目的最少次數。

single_assignment 類別

single_assignment 傳訊區塊是多目標、多來源的排序 propagator_block,能夠儲存寫入一次的單一 message

single_link_registry 類別

single_link_registry 物件是只管理單一來源或目標區塊的 network_link_registry

source_block 類別

source_block 類別是僅限來源區塊的抽象基底類別。 類別會提供基本連結管理功能與常見的錯誤檢查功能。

source_link_manager 類別

source_link_manager 物件會管理 ISource 區塊與傳訊區塊網路的連結。

static_partitioner 類別

static_partitioner 類別表示 parallel_for靜態分割它所遍歷的範圍。 分割者將範圍分成許多區塊,數量等同於排程器有多少可用的背景工作。

structured_task_group 類別

structured_task_group 類別代表平行工作的高度結構化集合。 您可以使用 task_handle 物件,將個別平行工作佇列到 structured_task_group 中並等候這些工作完成,也可以在工作完成執行前取消工作群組,這樣會中止所有尚未開始執行的工作。

target_block 類別

target_block 類別是提供基本的連結管理功能和錯誤檢查僅限目標區塊的抽象基底類別。

task 類別 (並行執行階段)

平行模式程式庫 (PPL) task 類別。 task 物件代表可以非同步執行的工作,這項工作還可以和其他工作以及並行執行階段之平行演算法所產生的平行工作同時執行。 它會在成功完成時產生屬於類型 _ResultType 的結果。 task<void> 類型的工作並不會產生結果。 您可以等候或取消工作,而不需考慮其他工作。 它也可以使用接續 (then)、聯結 (when_all) 和選項 (when_any) 模式搭配其他工作來組成。

task_canceled 類別

這個類別描述 PPL 工作分層為了強制目前工作取消,而擲回的例外狀況。 它也會因為取消的工作而被 工作上的 get() 方法擲回。

task_completion_event 類別

task_completion_event 類別可讓您延遲工作的執行,直到滿足條件為止,或者啟動工作以回應外部事件。

task_continuation_context 類別

task_continuation_context 類別可讓您指定要在何處執行接續。 只有從 Windows 市集應用程式使用這個類別才有用。 對於非 Windows 市集應用程式,接續的執行內容取決於執行階段工作,而且不可設定。

task_group 類別

task_group 類別表示可以等候或取消的平行工作集合。

task_handle 類別

task_handle 類別代表個別的平行工作項目。 它會封裝執行工作所需的指示和資料。

task_options 類別 (並行執行階段)

表示用於建立工作的允許選項

timer 類別

timer 傳訊區塊是單一目標 source_block,能夠在經過指定的時間長度或在特定時間間隔,將訊息傳送至它的目標。

transformer 類別

transformer 傳訊區塊是多來源的單一目標排序 propagator_block,可以存放無限個不同類型訊息。

unbounded_buffer 類別

unbounded_buffer 傳訊區塊是多目標、多來源的排序 propagator_block,能夠存放無限個訊息。

unsupported_os 類別

這個類別描述使用不支援的作業系統時擲回的例外狀況。

結構

名稱

描述

DispatchState 結構

DispatchState 結構用來將狀態傳輸至 IExecutionContext::Dispatch 方法。 它描述在 IExecutionContext 介面上叫用 Dispatch 方法的情況。

IExecutionContext 結構

執行內容的介面,可執行逾指定的虛擬處理器,也可以切換內容。

IExecutionResource 結構

硬體執行緒的抽象概念。

IResourceManager 結構

並行執行階段資源管理員的介面。 這是排程器用來與資源管理員通訊的介面。

IScheduler 結構

工作排程器抽象概念的介面。 並行執行階段的資源管理員會使用這個介面與工作排程器通訊。

ISchedulerProxy 結構

排程器用來與並行執行階段的資源管理員通訊,以協調資源配置的介面。

IThreadProxy 結構

執行緒的抽象概念。 視您所建立的排程器的 SchedulerType 原則機碼,資源管理員會授與您由一般 Win32 執行緒或使用者模式可排程 (UMS) 執行緒備份的執行緒 Proxy。 安裝 Windows 7 (含以上) 版本的 64 位元作業系統支援 UMS 執行緒。

ITopologyExecutionResource 結構

一個資源管理員所定義的執行資源的介面。

ITopologyNode 結構

一個資源管理員所定義的拓撲節點的介面。 節點包含一個或多個執行資源。

IUMSCompletionList 結構

代表 UMS 完成清單。 當 UMS 執行緒封鎖時,會分派排程器的指定排程內容,以決定封鎖原始執行緒時要在基礎虛擬處理器根排程的內容。 原始執行緒解除封鎖時,作業系統會將它佇列到可透過此介面存取的完成清單中。 排程器可以在指派的排程內容或其搜尋工作的其他任何位置查詢完成清單。

IUMSScheduler 結構

工作排程器抽象概念的介面,需要並行執行階段的資源管理員將使用者模式可排程的 (UMS) 執行緒傳遞給它。 資源管理員會使用這個介面與 UMS 執行緒排程器進行通訊。 IUMSScheduler 介面繼承自 IScheduler 介面。

IUMSThreadProxy 結構

執行緒的抽象概念。 如果您想要授與使用者模式可排程的 (UMS) 給您的執行緒,請將排程器原則項目 SchedulerKind 的值設為 UmsThreadDefault,並實作 IUMSScheduler 介面。 只有安裝 Windows 7 (含以上) 版本的 64 位元作業系統支援 UMS 執行緒。

IUMSUnblockNotification 結構

代表資源管理員發出的通知,表示封鎖及觸發傳回排程器指派排程內容的執行緒 Proxy 已解除鎖定,而且已準備好進行排程。 若重新排程從 GetContext 方法傳回之執行緒 Proxy 的相關執行內容,則此介面不正確。

IVirtualProcessorRoot 結構

執行緒 Proxy 可以在其上執行的硬體執行緒的抽象概念。

scheduler_interface 結構

排程器介面

scheduler_ptr 結構 (並行執行階段)

表示排程器的指標。 這個類別是為了使用 shared_ptr 或使用原始指標的簡單參考,允許共用存留期的規格。

列舉

名稱

描述

agent_status 列舉

agent 的有效狀態。

Agents_EventType 列舉

可以使用 Agents Library 所提供的追蹤功能追蹤的事件類型。

ConcRT_EventType 列舉

可以使用並行執行階段所提供的追蹤功能追蹤的事件類型。

Concrt_TraceFlags 列舉

事件型別的追蹤標記

CriticalRegionType 列舉

關鍵區域內容的類型是 inside。

DynamicProgressFeedbackType 列舉

DynamicProgressFeedback 原則用來描述要根據從排程器收集到的資訊重新平衡排程器的資源,或者只要根據透過 IVirtualProcessorRoot 介面上的 ActivateDeactivate 方法呼叫進出閒置狀態的虛擬處理器。 如需可用排程器原則的詳細資訊,請參閱 PolicyElementKey 列舉

join_type 列舉

join 傳訊區塊的型別。

message_status 列舉

message 物件對區塊的提供項目的有效回應。

PolicyElementKey 列舉

描述排程器行為方面的原則機碼。 每個原則項目由一個關鍵值組描述。 如需排程器原則和它們對排程器的影響的詳細資訊,請參閱 工作排程器 (並行執行階段)

SchedulerType 列舉

SchedulerKind 原則用來描述排程器應用於基礎執行內容的執行緒類型。 如需可用排程器原則的詳細資訊,請參閱 PolicyElementKey 列舉

SchedulingProtocolType 列舉

SchedulingProtocol 原則用於描述排程器將使用的排程演算法。 如需可用排程器原則的詳細資訊,請參閱 PolicyElementKey 列舉

SwitchingProxyState 列舉

用來表示執行緒 Proxy 所處的狀態 (當它正在執行合作內容切換到不同的執行緒 Proxy 時)。

task_group_status 列舉

描述 task_groupstructured_task_group 物件的執行狀態。 等待完成排定的工作群組的工作的許多方法會傳回這個類型的值。

WinRTInitializationType 列舉

WinRTInitialization 所使用以描述 Windows 執行階段在 Windows 8 作業系統或更高版本是否以及如何在排程器執行緒被初始化。 如需可用排程器原則的詳細資訊,請參閱 PolicyElementKey 列舉

功能

名稱

描述

Alloc 函式

以並行執行階段的快取子配置器指定的大小配置記憶體區塊。

asend 函式

多載。 非同步傳送作業,會排程工作將資料傳播到目標區塊。

cancel_current_task 函式

取消目前執行的工作。 這個函式可以從工作主體內呼叫以中止工作執行並導致它進入 canceled 狀態。 is_task_cancellation_requested 函式的回應可能會使用,您也可以個別使用它初始化目前執行工作的取消作業。

如果不是在 task 的主體中,這就不是支援呼叫這個函式的情節。 這樣做會在您的應用程式中產生未定義的表現方式,例如當機或停止回應。

create_async 函式

以使用者提供的 Lambda 或函式物件為基礎,建立 Windows 執行階段非同步建構。 根據傳遞至方法的 Lambda 簽章,create_async 的傳回類型是下列其中一個:IAsyncAction^IAsyncActionWithProgress<TProgress>^IAsyncOperation<TResult>^IAsyncOperationWithProgress<TResult, TProgress>^

create_task 函式

多載。 建立 PPL task 物件。 您可以在任何會使用工作建構函式的地方使用 create_task。 這主要是為了方便起見而提供,因為允許在建立工作時使用 auto 關鍵字。

CreateResourceManager 函式

傳回代表並行執行階段資源管理員單一執行個體的介面。 資源管理員會負責將資源指派給想要與彼此相互合作的排程器。

DisableTracing 函式

停用並行執行階段中的追蹤。 根據預設,這個函式因為 ETW 追蹤已移除註冊而被取代。

EnableTracing 函式

啟用並行執行階段中的追蹤。 根據預設,這個函式因為 ETW 追蹤已開啟而被取代。

Free 函式

釋放先前由 Alloc 方法配置的記憶體區塊至並行執行階段之快取子配置器。

get_ambient_scheduler 函式 (並行執行階段)

GetExecutionContextId 函式

傳回可指派給實作 IExecutionContext 介面的執行內容的唯一識別碼。

GetOSVersion 函式

傳回作業系統版本。

GetProcessorCount 函式

傳回基礎系統上的硬體執行緒數目。

GetProcessorNodeCount 函式

傳回基礎系統上的 NUMA 節點或處理器套件數目。

GetSchedulerId 函式

傳回可指派給實作 IScheduler 介面的排程器的唯一識別碼。

interruption_point 函式

建立取消的中斷點。 如果這個函式呼叫的內容正在取消,則會擲出中止目前執行的平行工作執行的內部例外狀況。 如果取消不在進行中,函式不會執行任何動作。

is_current_task_group_canceling 函式

傳回指示,表示目前正以內嵌方式執行於目前內容的工作群組是否正在取消或即將取消。 請注意,如果目前沒有任何工作群組以內嵌方式執行目前的內容,會傳回false

is_task_cancellation_requested 函式

傳回表示目前正在執行的工作是否接收到取消執行的要求。 如果工作是使用取消語彙基元所建立,而且與該語彙基元相關聯的來源該語彙基元已取消時,會要求取消工作。

make_choice 函式

多載。 從選擇性的 SchedulerScheduleGroup 與二到更多個輸入來源建立 choice 傳訊區塊。

make_greedy_join 函式

多載。 從選擇性的 SchedulerScheduleGroup 與二到更多個輸入來源建立 greedy multitype_join 傳訊區塊。

make_join 函式

多載。 從選擇性的 SchedulerScheduleGroup 與二到更多個輸入來源建立 non_greedy multitype_join 傳訊區塊。

make_task 函式

建立 task_handle 物件的 Factory 方法。

parallel_buffered_sort 函式

多載。 平行排列指定範圍中的項目成非遞減排列,或者是跟據二進位述詞指定的排序準則。 這個函式語意與 std::sort 類似因為它是以比較為基礎,不穩定,原地排序的,除了需要 O(n) 額外的空間,並要求預設初始化需排序項目。

parallel_for 函式

多載。 parallel_for 會逐一查看某個範圍的索引,並以平行方式在每個反覆項目執行使用者提供函式。

parallel_for_each 函式

多載。 parallel_for_each 會平行套用指定的函式到範圍內的每個項目。 在語意上相當於 std 命名空間中的 for_each 函式,但項目的反覆項目會平行執行,而且不會指定反覆項目的順序。 _Func 引數必須支援 operator()(T) 形式的函式呼叫運算子,其中 T 參數是要逐一查看的容器的項目型別。

parallel_invoke 函式

多載。 平行執行提供作為參數的函式物件,並加以封鎖直到完成執行為止。 每個函式物件都可以是 Lambda 運算式、函式指標,或是支援函式呼叫運算子與簽章 void operator()() 版本的任何物件。

parallel_radixsort 函式

多載。 使用基數排序排序演算法,排列指定範圍內的元素至非遞減。 這是一個需要可將項目排序成不帶正負號的整數索引鍵的投影函式的穩定排序函式。 預設初始化對於排序的元素是必要的。

parallel_reduce 函式

多載。 平行地透過計算後繼元素的部分總和以計算在一定範圍內的所有元素總和,或是計算部分後繼結果由同樣地使用不同於加總的指定二進位運算得出。 parallel_reduce 語意與 std::accumulate類似,不同的是,它需要二進位運算,而且需要識別值而不是原始值。

parallel_sort 函式

多載。 平行地排列指定範圍中的項目成非遞減排列,或者是跟據二進位述詞指定的排序準則。 這個函式語意與 std::sort 類似因為它是以比較為基礎,不穩定,原地排序的。

parallel_transform 函式

多載。 平行地將指定的函式物件應用至來源中的每個項目,或是一組來自兩個來源範圍的項目,並複製函式物件的傳回值到目的範圍。 這項功能與 std::transform在語意上是相等的。

receive 函式

多載。 一般接收實作,可讓內容等候來自一個來源的資料,並且篩選所接受的值。

run_with_cancellation_token 函式

在指定的取消語彙基元內容中立即和同步地執行函式物件。

send 函式

多載。 同步傳送作業,會等候直到目標接受或拒絕訊息。

set_ambient_scheduler 函式 (並行執行階段)

set_task_execution_resources 函式

多載。 限制並行執行階段的內部背景工作執行緒的使用資源至指定的關連集合。

只有在資源管理員建立之前,或在兩個資源管理員存留期之間,才能有效的呼叫這個方法。 只要資源管理員不在引動過程期間,則可以叫用許多次。 在關連限制設定之後,會繼續有效直到下一個有效的呼叫 set_task_execution_resources 方法。

提供的關連遮罩不需要為程序關連遮罩的子集。 如果需要,將更新程序關連遮罩。

swap 函式

交換兩個 concurrent_vector 物件的項目。

task_from_exception 函式 (並行執行階段)

task_from_result 函式 (並行執行階段)

Trace_agents_register_name 函式

連繫指定的名稱至 ETW 追蹤的訊息區塊或代理程式。

try_receive 函式

多載。 一般嘗試-接收實作,可讓內容尋找來自一個來源的資料,並且篩選所接受的值。 如果資料還沒準備好,方法會傳回 false。

wait 函式

暫停目前的內容達指定的時間長度。

when_all 函式

建立將會在當做引數提供的所有工作都已順利完成時成功完成的工作。

when_any 函式

多載。 建立將會在當做引數提供的任何工作已順利完成時成功完成的工作。

運算子

名稱

描述

operator!= 運算子

測試運算子左邊的 concurrent_vector 物件是否不等於 concurrent_vector 物件右邊的物件。

operator&& 運算子

多載。 建立將會在兩個當做引數提供的工作都已順利完成時成功完成的工作。

operator|| 運算子

多載。 建立將會在當做引數提供的任一工作已順利完成時成功完成的工作。

operator< 運算子

測試運算子左邊的 concurrent_vector 物件是否小於 concurrent_vector 物件右邊的物件。

operator<= 運算子

測試運算子左邊的 concurrent_vector 物件是否小於 concurrent_vector 物件右邊的物件。

operator== 運算子

測試運算子左邊的 concurrent_vector 物件是否等於 concurrent_vector 物件右邊的物件。

operator> 運算子

測試運算子左邊的 concurrent_vector 物件是否大於 concurrent_vector 物件右邊的物件。

operator>= 運算子

測試運算子左邊的 concurrent_vector 物件是否大於 concurrent_vector 物件右邊的物件。

常數

名稱

描述

AgentEventGuid 常數

一個分類 GUID ({B9B5B78C-0713-4898-A21A-C67949DCED07}) 描述在並行執行階段由代理程式程式庫引發的 ETW 事件。

ChoreEventGuid 常數

分類 GUID,描述直接與工作相關之並行執行階段引發的 ETW 事件。

ConcRT_ProviderGuid 常數

目前執行階段的 ETW 提供者 GUID。

CONCRT_RM_VERSION_1 常數

指出在 Visual Studio 2010 中定義的資源管理員介面的支援。

ConcRTEventGuid 常數

分類 GUID,描述其他分類未特別描述之並行執行階段引發的 ETW 事件。

ContextEventGuid 常數

分類 GUID,描述直接與內容相關之並行執行階段引發的 ETW 事件。

COOPERATIVE_TIMEOUT_INFINITE 常數

值,表示等候應該永遠不會逾時。

COOPERATIVE_WAIT_TIMEOUT 常數

值,表示等候已逾時。

INHERIT_THREAD_PRIORITY 常數

原則機碼 ContextPriority 的特殊值,代表排程器中所有內容的執行緒優先順序應該與建立排程器之執行緒的優先順序相同。

LockEventGuid 常數

分類 GUID,描述直接與鎖定相關之並行執行階段引發的 ETW 事件。

MaxExecutionResources 常數

MinConcurrencyMaxConcurrency 原則機碼的特殊值。 預設值是在沒有其他條件約束的情況下,電腦上的硬體執行緒數目。

PPLParallelForeachEventGuid 常數

分類 GUID,描述直接與 parallel_for_each使用方式相關之並行執行階段引發的 ETW 事件。

PPLParallelForEventGuid 常數

分類 GUID,描述直接與 parallel_for使用方式相關之並行執行階段引發的 ETW 事件。

PPLParallelInvokeEventGuid 常數

分類 GUID,描述直接與 parallel_invoke使用方式相關之並行執行階段引發的 ETW 事件。

ResourceManagerEventGuid 常數

分類 GUID,描述直接與排程器資源管理員相關之並行執行階段引發的 ETW 事件。

ScheduleGroupEventGuid 常數

分類 GUID,描述直接與排程群組相關之並行執行階段引發的 ETW 事件。

SchedulerEventGuid 常數

分類 GUID,描述直接與排程器活動相關之並行執行階段引發的 ETW 事件。

VirtualProcessorEventGuid 常數

分類 GUID,描述直接與虛擬處理器相關之並行執行階段引發的 ETW 事件。

需求

標題: agents.h, concrt.h, concrtrm.h, concurrent_priority_queue.h, concurrent_queue.h, concurrent_unordered_map.h, concurrent_unordered_set.h, concurrent_vector.h, internal_concurrent_hash.h, internal_split_ordered_list.h, ppl.h, pplcancellation_token.h, pplconcrt.h, pplinterface.h,以

請參閱

其他資源

參考 (並行執行階段)