執行緒集區 API

執行緒集區應用程式開發介面 (API) 使用以物件為基礎的設計。 下列每一個物件都是以使用者模式資料結構表示:

  • 集區物件是一組可用來執行工作的背景工作執行緒。 每個進程都可以視需要建立多個具有不同特性的隔離集區。 每個進程也有預設集區。
  • 清除群組與一組回呼產生物件相關聯。 函式存在,可等候並釋放屬於每個清除群組成員的所有物件。 這會釋放應用程式,使其無法追蹤它建立的所有物件。
  • 工作物件會指派給集區,並選擇性地指派給清除群組。 它可能會張貼,導致集區中的背景工作執行緒執行其回呼。 工作物件可以有多個未完成的貼文;每個 都會產生回呼。 因為缺少資源,所以後續作業無法失敗。
  • 計時器物件會控制回呼的排程。 每次計時器到期時,其回呼都會張貼到其背景工作集區。 因為缺少資源,所以設定計時器無法失敗。
  • wait 物件會導致等候程式執行緒等候可等候的控制碼。 滿足等候或逾時期間到期之後,等候程式執行緒會將等候物件的回呼張貼至等候的背景工作集區。 設定等候因資源不足而無法失敗。
  • I/O 物件會將檔案控制代碼與執行緒集區的 I/O 完成埠產生關聯。 非同步 I/O 作業完成時,背景工作執行緒會挑選作業的狀態,並呼叫 I/O 物件的回呼。

下表說明原始和目前線程集區 API 的功能。

功能 原始 API 目前的 API
同步 RegisterWaitForSingleObject
UnregisterWaitEx
CloseThreadpoolWait
CreateThreadpoolWait
SetThreadpoolWait
WaitForThreadpoolWaitCallbacks
Work QueueUserWorkItem
CloseThreadpoolWork
CreateThreadpoolWork
SubmitThreadpoolWork
TrySubmitThreadpoolCallback
WaitForThreadpoolWorkCallbacks
計時器 CreateTimerQueue
CreateTimerQueueTimer
ChangeTimerQueueTimer
DeleteTimerQueueTimer
DeleteTimerQueueEx
CloseThreadpoolTimer
CreateThreadpoolTimer
IsThreadpoolTimerSet
SetThreadpoolTimer
WaitForThreadpoolTimerCallbacks
I/O BindIoCompletionCallback
CancelThreadpoolIo
CloseThreadpoolIo
CreateThreadpoolIo
StartThreadpoolIo
WaitForThreadpoolIoCallbacks
清除群組 CloseThreadpoolCleanupGroup
CloseThreadpoolCleanupGroupMembers
CreateThreadpoolCleanupGroup
集區 CloseThreadpool
CreateThreadpool
SetThreadpoolThreadMaximum
SetThreadpoolThreadMinimum
回呼環境 DestroyThreadpoolEnvironment
InitializeThreadpoolEnvironment
SetThreadpoolCallbackCleanupGroup
SetThreadpoolCallbackLibrary
SetThreadpoolCallbackPool
SetThreadpoolCallbackPriority
SetThreadpoolCallbackRunsLong
回呼 CallbackMayRunLong
回呼清除 DisassociateCurrentThreadFromCallback
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns
ReleaseSemaphoreWhenCallbackReturns
SetEventWhenCallbackReturns

 

執行緒集區

使用執行緒集區函式