共用方式為


線程集區 API

線程集區應用程式開發介面 (API) 會使用以對象為基礎的設計。 下列每一個物件都會以使用者模式數據結構表示:

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

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

特徵 原始 API 目前的 API
同步 RegisterWaitForSingleObject
UnregisterWaitEx
CloseThreadpoolWait
CreateThreadpoolWait
SetThreadpoolWait
WaitForThreadpoolWaitCallbacks
工作 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

 

線程集區

使用線程集區函式