线程池API
線程池API
線程池應(yīng)用程序編程接口(API)使用基于對象的設(shè)計。以下每個對象都由用戶模式數(shù)據(jù)結(jié)構(gòu)表示:
- 池對象是一組可用于執(zhí)行工作的工作線程。每個進(jìn)程可以根據(jù)需要創(chuàng)建具有不同特征的多個隔離池。每個進(jìn)程都有一個默認(rèn)池。
- 清理組與一組回調(diào)生成對象相關(guān)聯(lián)。存在等待并釋放作為每個清理組成員的所有對象的函數(shù)。這使應(yīng)用程序無需跟蹤它創(chuàng)建的所有對象。
- 將工作對象分配給池,并可選擇分配給清理組。它可以被發(fā)布,導(dǎo)致池中的工作線程執(zhí)行其回調(diào)。工作對象可以有多個未完成的帖子;
每個都會產(chǎn)生一個回調(diào)。由于缺乏資源,后期操作不會失敗。 - 計時器對象控制回調(diào)的調(diào)度。每次計時器到期時,其回調(diào)都會發(fā)布到其工作池。由于缺乏資源,設(shè)置計時器不會失敗。
等待對象導(dǎo)致服務(wù)器線程在等待句柄上等待。在等待或超時期限到期后,服務(wù)員線程將等待對象的回調(diào)發(fā)布到等待的工作池。由于缺乏資源,設(shè)置等待不會失敗。 - I / O對象將文件句柄與線程池的I / O完成端口相關(guān)聯(lián)。當(dāng)異步I / O操作完成時,工作線程會獲取操作的狀態(tài)并調(diào)用I /
O對象的回調(diào)。
下表描述了原始和當(dāng)前線程池API的功能。
| 同步 | RegisterWaitForSingleObject | CloseThreadpoolWait |
| UnregisterWaitEx | CreateThreadpoolWait | |
| SetThreadpoolWait | ||
| WaitForThreadpoolWaitCallbacks | ||
| 工作 | QueueUserWorkItem | CloseThreadpoolWork |
| CreateThreadpoolWork | ||
| SubmitThreadpoolWork | ||
| TrySubmitThreadpoolCallback | ||
| WaitForThreadpoolWorkCallbacks | ||
| 計時器 | CreateTimerQueue | CloseThreadpoolTimer |
| CreateTimerQueueTimer | CreateThreadpoolTimer | |
| ChangeTimerQueueTimer | IsThreadpoolTimerSet | |
| DeleteTimerQueueTimer | SetThreadpoolTimer | |
| DeleteTimerQueueEx | WaitForThreadpoolTimerCallbacks | |
| I / O | BindIoCompletionCallback | CancelThreadpoolIo |
| CloseThreadpoolIo | ||
| CreateThreadpoolIo | ||
| StartThreadpoolIo | ||
| WaitForThreadpoolIoCallbacks | ||
| 清理 | CloseThreadpoolCleanupGroup | |
| CloseThreadpoolCleanupGroupMembers | ||
| CreateThreadpoolCleanupGroup | ||
| 池 | CloseThreadpool | |
| CreateThreadpool | ||
| SetThreadpoolThreadMaximum | ||
| SetThreadpoolThreadMinimum | ||
| 回調(diào)環(huán)境 | DestroyThreadpoolEnvironment | |
| InitializeThreadpoolEnvironment | ||
| SetThreadpoolCallbackCleanupGroup | ||
| SetThreadpoolCallbackLibrary | ||
| SetThreadpoolCallbackPool | ||
| SetThreadpoolCallbackPriority | ||
| SetThreadpoolCallbackRunsLong | ||
| 回調(diào) | CallbackMayRunLong | |
| 回調(diào)清理 | DisassociateCurrentThreadFromCallback | |
| FreeLibraryWhenCallbackReturns | ||
| LeaveCriticalSectionWhenCallbackReturns | ||
| ReleaseMutexWhenCallbackReturns | ||
| ReleaseSemaphoreWhenCallbackReturns | ||
| SetEventWhenCallbackReturns |
相關(guān)話題
線程池
使用線程池功能
總結(jié)
- 上一篇: java父类shape_java父类为抽
- 下一篇: C语言笔记(符号)