System.Threading 命名空間

 

System.ThreadingSystem.Threading.TasksSystem.Threading.Tasks.DataFlow 命名空間包含型別,可以啟用多執行緒程式設計,並簡化並行和非同步程式碼的撰寫。

本主題說明 System.Threading 包含之 System.Threading.TasksSystem.Threading.Tasks.DataFlow 和 適用於 Windows 8.x 市集應用程式的 .NET 命名空間中的型別,您也可以加以安裝並用來建立 Windows 8.x 市集應用程式。 請注意,適用於 Windows 8.x 市集應用程式的 .NET 不包含每個型別的所有成員。 如需個別型別的詳細資訊,請參閱連結的主題。 型別的文件會指出 適用於 Windows 8.x 市集應用程式的 .NET 包含哪些成員。

若要安裝 System.Threading.Tasks.Dataflow 命名空間,請在 Visual Studio 2012 (含) 以後版本中開啟您的專案,選擇 [專案] 功能表中的 [管理 NuGet 封裝],並在線上搜尋 Microsoft.Tpl.Dataflow 封裝。

適用於 Windows 8.x 市集應用程式的 .NET 支援的型別

描述

AbandonedMutexException

當一個執行緒取得另一個執行緒已放棄,但是結束時並未釋放的 Mutex 物件時,所擲回的例外狀況。

AutoResetEvent

向等候的執行緒通知發生事件。 此類別無法被繼承。

Barrier

允許多項工作在多個階段中以平行方式來合作處理某個演算法。

BarrierPostPhaseException

在屏障的後續階段動作失敗時所擲回的例外狀況。

CancellationToken

散佈通知,表示不應取消作業。

CancellationTokenRegistration

代表已向 CancellationToken 註冊的回呼委派。

CancellationTokenSource

向 CancellationToken 發出訊號,表示應該將它取消。

CountdownEvent

代表當計數到達零時收到訊號的同步處理原始物件。

EventResetMode

表示收到信號之後,將自動重設或是手動重設 EventWaitHandle。

EventWaitHandle

表示執行緒同步處理事件。

Interlocked

為多重執行緒共用的變數提供不可部分完成的作業 (Atomic Operation)。

LazyInitializer

提供延遲初始化常式。

LazyThreadSafetyMode

指定 Lazy<T> 執行個體如何同步處理多個執行緒進行的存取。

LockRecursionException

當遞迴進入鎖定與鎖定的遞迴原則不相符時,擲回的例外狀況。

LockRecursionPolicy

指定相同的執行緒是否可以多次進入鎖定。

ManualResetEvent

告知一個以上的等候中執行緒已發生事件。 此類別無法被繼承。

ManualResetEventSlim

提供 ManualResetEvent 的精簡版本。

Monitor

提供一套機制,同步處理物件的存取。

Mutex

同步處理原始物件也可用於進行處理序之間的同步處理。

ReaderWriterLockSlim

代表鎖定,用來管理資源存取,允許多個執行緒的讀取權限或獨佔寫入權限。

Semaphore

限制可以同時存取資源或資源集區的執行緒數目。

SemaphoreFullException

在計數已經達到最大的號誌 (Semaphore) 上,呼叫 Release 方法時,所擲回的例外狀況。

SemaphoreSlim

號誌 (Semaphore) 的輕量型替代品,限制可同時存取一項資源或資源集區的執行緒數目。

SendOrPostCallback

表示要將訊息分派至同步處理內容時,所要呼叫的方法。

SpinLock

提供互斥鎖定基本作業,在這個作業中,嘗試取得鎖定的執行緒會用迴圈方式等候,並重複檢查,直到鎖定可用為止。

SpinWait

提供微調式等候支援。

SynchronizationContext

提供在各種同步處理模式中散佈同步處理內容的基本功能。

SynchronizationLockException

方法要求呼叫端擁有指定 Monitor 的鎖定,但是不擁有鎖定的呼叫端叫用方法時所擲回的例外狀況。

ThreadLocal<T>

提供資料的執行緒區域儲存區。

Timeout

包含會指定無限逾時間隔的常數。 此類別無法被繼承。

Volatile

包含用於執行動態記憶體作業的方法。

WaitHandle

將等候共用資源獨佔存取權限的特定作業系統物件封裝起來。

WaitHandleCannotBeOpenedException

嘗試開啟不存在的系統 Mutex 或號誌 (Semaphore) 時,所擲回的例外狀況。

適用於 Windows 8.x 市集應用程式的 .NET 支援的型別

描述

ConcurrentExclusiveSchedulerPair

提供並行和獨佔式工作排程器,以協調執行工作,並確保並行工作可以同時執行,而獨佔式工作永遠不可能。

Parallel

提供平行迴圈和區域的支援。

ParallelLoopResult

提供平行迴圈的執行完成狀態。

ParallelLoopState

讓平行迴圈的反覆項目與其他反覆項目互動。 Parallel 類別會在每個迴圈中提供此類別的執行個體,您不能自行以使用者程式碼建立執行個體。

ParallelOptions

儲存選項,這些選項設定 Parallel 類別上之方法的作業。

Task

表示非同步作業。

Task<TResult>

表示可傳回值的非同步作業。

TaskCanceledException

表示用來傳達工作取消的例外狀況。

TaskCompletionSource<TResult>

表示未與委派繫結之 Task<TResult> 的生產者端,可提供透過 TaskCompletionSource<T>.Task 屬性對消費者端的存取。

TaskContinuationOptions

指定使用 ContinueWith 或 Task<T>.ContinueWith 方法建立之工作的行為。

TaskCreationOptions

指定旗標,這些旗標控制建立和執行工作時的選擇性行為。

TaskExtensions

提供一組 static (Visual Basic 中是 Shared) 方法,以處理特定類型的 Task 執行個體。

TaskFactory

提供建立和排定 Task 物件的支援。

TaskFactory<TResult>

提供建立和排定 Task<T> 物件的支援。

TaskScheduler

表示物件,這個物件會處理將工作排入至執行緒上的低階工作。

TaskSchedulerException

表示 TaskScheduler 用來傳達無效作業的例外狀況。

TaskStatus

表示目前在工作開發週期中的階段。

UnobservedTaskExceptionEventArgs

提供當錯誤工作的例外狀況變成未觀察的對象時,所引發事件的資料。

若要安裝 System.Threading.Tasks.Dataflow 命名空間,請在 Visual Studio 2012 中開啟您的專案,選擇 [專案] 功能表中的 [管理 NuGet 封裝],並在線上搜尋 Microsoft.Tpl.Dataflow 封裝。

適用於 Windows 8.x 市集應用程式的 .NET 支援的型別

描述

ActionBlock<TInput>

提供資料流程區塊,為每個收到的資料項目叫用提供的 Action<T> 委派。

BatchBlock<T>

提供資料流程區塊,將輸入批次處理到陣列。

BatchedJoinBlock<T1, T2>

提供資料流程區塊,將所提供的 (可能不同型別的) 指定輸入個數批次處理至一或多個目標。

BatchedJoinBlock<T1, T2, T3>

提供資料流程區塊,將所提供的 (可能不同型別的) 指定輸入個數批次處理至一或多個目標。

BroadcastBlock<T>

提供緩衝區,一次至多儲存一個項目,並在下一個訊息到達時覆寫每個訊息。 訊息已廣播給所有連結的目標,這些目標都可能會耗用訊息的複本。

BufferBlock<T>

提供儲存資料的緩衝區。

DataflowBlock

提供一組 static (Visual Basic 中是 Shared) 方法,以處理資料流程區塊。

DataflowBlockOptions

提供選項,用來設定資料流程區塊所執行的處理程序。

DataflowLinkOptions

提供選項,用來設定資料流程區塊之間的連結。

DataflowMessageHeader

為資料流程區塊之間傳遞的資料屬性提供容器。

DataflowMessageStatus

表示 DataflowMessageHeader 在資料流程區塊之間傳遞時的狀態。

ExecutionDataflowBlockOptions

提供選項,用來設定透過使用者提供的委派叫用處理每個訊息的資料流程區塊所執行的處理程序。 這些是資料流程區塊,如 ActionBlock<TInput> 和 TransformBlock<TInput, TOutput>。

GroupingDataflowBlockOptions

提供選項,用來設定將多個訊息群組在一起的資料流程區塊所執行的處理程序。 這些是資料流程區塊,如 JoinBlock<T1, T2> 和 BatchBlock<T>。

IDataflowBlock

表示資料流程區塊。

IPropagatorBlock<TInput, TOutput>

表示同時為資料目標及資料來源的資料流程區塊。

IReceivableSourceBlock<TOutput>

表示支援接收訊息而不連結的資料流程區塊。

ISourceBlock<TOutput>

表示為資料來源的資料流程區塊。

ITargetBlock<TInput>

表示為資料目標的資料流程區塊。

JoinBlock<T1, T2>

提供資料流程區塊,跨多個資料流程來源 (不一定是相同的型別) 聯結 (join),並等待每一種類型的一個項目抵達後,才會將它們當做 tuple (包含每一種類型的一個項目),全部一起釋放。

JoinBlock<T1, T2, T3>

提供資料流程區塊,跨多個資料流程來源 (不一定是相同的型別) 聯結 (join),並等待每一種類型的一個項目抵達後,才會將它們當做 tuple (包含每一種類型的一個項目),全部一起釋放。

TransformBlock<TInput, TOutput>

提供資料流程區塊,為每個收到的資料項目叫用提供的 Func<T, TResult> 委派。

TransformManyBlock<TInput, TOutput>

提供資料流程區塊,為每個收到的資料項目叫用提供的 Func<T, TResult> 委派。

WriteOnceBlock<T>

提供緩衝區,以接收並儲存資料流程區塊網路中的最多一個項目。

顯示: