System.Threading 命名空間

提供可實現多執行緒程式設計的類別與介面。 除了用於同步執行緒活動與資料存取的類別(Mutex如 、 MonitorInterlockedAutoResetEvent、 等)外,這個命名空間還包含一個ThreadPool類別,允許你使用系統提供的執行緒池,以及Timer一個對執行緒池執行緒回調方法的類別。

類別

名稱 Description
AbandonedMutexException

當一個執行緒取得另一個執行緒已放棄的物件時拋出的例外,該執行緒在未釋放該執行緒 Mutex 時會拋出。

AsyncLocal<T>

代表與特定非同步控制流程相關的環境資料,例如非同步方法。

AutoResetEvent

代表一個執行緒同步事件,當收到訊號時,會釋放一個等待的執行緒,然後自動重置。 此類別無法獲得繼承。

Barrier

可讓多個工作透過多個階段以平行方式處理演算法。

BarrierPostPhaseException

當 a Barrier 的後階段作用失敗時拋出的例外。

CancellationTokenSource

向A CancellationToken 發出應該取消的訊號。

CompressedStack

提供設定與擷取當前執行緒壓縮堆疊的方法。 此類別無法獲得繼承。

CountdownEvent

表示當同步處理基本類型計數達到零時發出訊號。

EventWaitHandle

代表執行緒同步事件。

ExecutionContext

管理目前線程的執行內容。 此類別無法獲得繼承。

HostExecutionContext

封裝並傳播主機執行內容到線程。

HostExecutionContextManager

提供允許共通語言執行環境主機參與執行上下文的流程或遷移的功能。

Interlocked

為多個線程共用的變數提供不可部分完成的作業。

LazyInitializer

提供懶惰的初始化例程。

LockRecursionException

當遞迴進入鎖與該鎖的遞迴策略不相容時,拋出的例外。

ManualResetEvent

表示必須手動重設訊號的線程同步處理事件。 此類別無法獲得繼承。

ManualResetEventSlim

表示必須手動重設訊號的線程同步處理事件。 此類別是 的輕量級替代方案 ManualResetEvent

Monitor

提供一種同步物件存取的機制。

Mutex

一個同步原語,也可用於程序間同步。

Overlapped

提供 Win32 OVERLAPPED 結構的管理式表示,包括將資訊從實 Overlapped 例轉移到結構 NativeOverlapped 的方法。

PreAllocatedOverlapped

表示原生重疊 I/O 作業的預先配置狀態。

ReaderWriterLock

定義一個支援單一寫入者與多個讀取器的鎖。

ReaderWriterLockSlim

表示用來管理資源存取權的鎖定,允許多個線程讀取或獨佔寫入存取權。

RegisteredWaitHandle

代表在呼叫 RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean)時已註冊的句柄。 此類別無法獲得繼承。

Semaphore

限制可同時存取資源或資源池的執行緒數量。

SemaphoreFullException

當方法被呼叫於數量已達最大值的信號量時,會拋 Release 出例外。

SemaphoreSlim

代表一種輕量級替代方案 Semaphore ,限制可同時存取資源或資源池的執行緒數量。

SynchronizationContext

提供在各種同步模型中傳播同步上下文的基本功能。

SynchronizationLockException

當某方法要求呼叫者擁有某個 Monitor 的鎖,而該方法被不擁有該鎖的呼叫者呼叫時拋出的例外。

Thread

建立並控制執行緒,設定優先順序,並取得其狀態。

ThreadAbortException

當呼叫方法 Abort(Object) 時拋出的例外。 此類別無法獲得繼承。

ThreadExceptionEventArgs

提供 ThreadException 事件的資料。

ThreadInterruptedException

例外是在等待 Thread 狀態下被中斷時拋出的。

ThreadLocal<T>

提供數據的線程本機記憶體。

ThreadPool

提供一個執行緒池,可用於執行任務、後續工作項目、處理非同步 I/O、代表其他執行緒等待,以及程序計時器。

ThreadPoolBoundHandle

表示系結至系統線程集區的 I/O 句柄,並讓低階元件接收異步 I/O 作業的通知。

ThreadStartException

當受管理執行緒在底層作業系統執行緒啟動後,但執行緒尚未準備好執行使用者程式碼之前,發生失敗時拋出的例外。

ThreadStateException

當 a Thread 在 a 中 是 方法呼叫的無效 ThreadState 時拋出的例外。

Timeout

包含指定無限超時區間的常數。 此類別無法獲得繼承。

Timer

提供機制,以指定間隔在線程集區線程上執行方法。 此類別無法獲得繼承。

Volatile

包含執行揮發性記憶體操作的方法。

WaitHandle

封裝操作系統特定物件,以等候共用資源的獨佔存取權。

WaitHandleCannotBeOpenedException

當嘗試開啟不存在的系統互斥、信號量或事件等待處理時,會拋出的例外。

WaitHandleExtensions

提供方便的方法,讓你能使用安全的帳號來使用等待的帳號。

結構

名稱 Description
AsyncFlowControl

提供還原線程之間執行內容移轉或流程的功能。

AsyncLocalValueChangedArgs<T>

類別,提供數據變更資訊給 AsyncLocal<T> 註冊變更通知的實例。

CancellationToken

傳播應該取消作業的通知。

CancellationTokenRegistration

代表已註冊於 CancellationToken.

LockCookie

定義實作單一寫入器/多讀取器語意的鎖定。 這是實值型別。

NativeOverlapped

提供從 Unmanaged 程式代碼中可見的明確版面配置,且其配置與 Win32 OVERLAPPED 結構相同,並在結尾加上其他保留字段。

SpinLock

提供互斥鎖定基本類型,其中嘗試取得鎖定的線程會在迴圈中重複檢查,直到鎖定變成可用為止。

SpinWait

提供微調型等候的支援。

列舉

名稱 Description
ApartmentState

指定 Thread的 Apartment 狀態。

EventResetMode

指出在收到訊號之後,EventWaitHandle 會自動或手動重設。

LazyThreadSafetyMode

指定 Lazy<T> 實例如何同步處理多個線程之間的存取。

LockRecursionPolicy

指定同一個線程是否可以多次輸入鎖定。

ThreadPriority

指定 Thread的排程優先順序。

ThreadState

指定 Thread的執行狀態。

委派

名稱 Description
ContextCallback

代表一個在新上下文中要呼叫的方法。

IOCompletionCallback

當執行緒池完成 I/O 操作時,會接收錯誤碼、位元組數及重疊值型別。

ParameterizedThreadStart

代表在 上 Thread執行的方法。

SendOrPostCallback

表示當訊息要派遣到同步上下文時,要呼叫的方法。

ThreadExceptionEventHandler

代表將處理ThreadExceptionApplication事件的方法。

ThreadStart

代表在 上 Thread執行的方法。

TimerCallback

代表處理來自 的 Timer呼叫的方法。

WaitCallback

代表由執行緒池執行緒執行的回調方法。

WaitOrTimerCallback

代表當 a WaitHandle 被發出訊號或逾時時,要呼叫的方法。