Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Download source code from MSDN Code Gallery.
This is a quick recap of all the posts in the threadpool series and the methods supported by the wrapper classes.
- Introduction to the Windows Threadpool (Part 1)
- Threadpool Work item priority
- Introduction to the Windows Threadpool (part 2)
- Threadpool Timer Functions
- Waiting on Events from within Threadpool
Class windowsthreadpool::SimpleThreadPool
Public Member Functions |
Description |
template<class Function > bool QueueUserWorkItem (Function cb) |
Queue a work item to the process-wide threadpool to run Function cb. |
template<class Function > bool QueueUserWorkItem (Function cb, PVOID State) |
Queue a work item to the process-wide threadpool to run Function cb which accepts a PVOID as parameter. |
template<class Function > bool QueueUserWorkItemWithLowPri (Function cb) |
Queue a low priority work item to the process-wide threadpool to run Function cb. |
template<class Function > bool QueueUserWorkItemWithHiPri (Function cb) |
Queue a high priority work item to the process-wide threadpool to run Function cb. |
template<class Function > bool QueueUserWorkItemWithLowPri (Function cb, PVOID State) |
Queue a low priority work item to the process-wide threadpool to run Function cb which accepts a PVOID as parameter. |
template<class Function > bool QueueUserWorkItemWithHiPri (Function cb, PVOID State) |
Queue a high priority work item to the process-wide threadpool to run Function cb which accepts a PVOID as parameter. |
void WaitForAll () |
Wait for all queued work items to finish execution. |
void WaitForAllCurrentlyRunning () |
Wait for all running work items to finish execution and cancel any queued work items which haven’t started running. |
template<class Function > PVOID RegisterEvent (Function cb, HANDLE Event, int timeout) |
Queue a work item to the process-wide threadpool to call Function cb when the event is signaled or the timeout expires. |
template<class Function > PVOID RegisterEvent (Function cb, PVOID State, HANDLE Event, int timeout) |
Queue a work item to the process-wide threadpool to call Function cb which accepts a PVOID as parameter when the event is signaled or the timeout expires. |
template<class Function > bool DestroyEvent (PVOID EventHandle) |
Cancel any interest in the event previously registered. Method accepts the handle returned by the RegisterEvent method. |
template<class Function > bool ReRegisterEvent (PVOID EventHandle) |
ReRegister interest in the event previously registered. Method accepts the handle returned by the RegisterEvent method. |
template<class Function > bool ReRegisterEvent (PVOID EventHandle, int timeout) |
ReRegister interest in the event previously registered with a different timeout. Method accepts the handle returned by the RegisterEvent method. |
Class windowsthreadpool::PrivateThreadPool
Public Member Functions |
Description |
bool SetThreadpoolMax (size_t max) |
Set the maximum number of the threads that can be created in the threadpool. |
bool SetThreadpoolMin (size_t min) |
Set the minimum number of the threads to exist in the threadpool. |
template<class Function > bool QueueUserWorkItem (Function cb) |
Queue a work item to the process-wide threadpool to run Function cb. |
template<class Function > bool QueueUserWorkItem (Function cb, PVOID State) |
Queue a work item to the process-wide threadpool to run Function cb which accepts a PVOID as parameter. |
template<class Function > bool QueueUserWorkItemWithLowPri (Function cb) |
Queue a low priority work item to the process-wide threadpool to run Function cb. |
template<class Function > bool QueueUserWorkItemWithHiPri (Function cb) |
Queue a high priority work item to the process-wide threadpool to run Function cb. |
template<class Function > bool QueueUserWorkItemWithLowPri (Function cb, PVOID State) |
Queue a low priority work item to the process-wide threadpool to run Function cb which accepts a PVOID as parameter. |
template<class Function > bool QueueUserWorkItemWithHiPri (Function cb, PVOID State) |
Queue a high priority work item to the process-wide threadpool to run Function cb which accepts a PVOID as parameter. |
void WaitForAll () |
Wait for all queued work items to finish execution. |
void WaitForAllCurrentlyRunning () |
Wait for all running work items to finish execution and cancel any queued work items which haven’t started running. |
template<class Function > PVOID RegisterEvent (Function cb, HANDLE Event, int timeout) |
Queue a work item to the process-wide threadpool to call Function cb when the event is signaled or the timeout expires. |
template<class Function > PVOID RegisterEvent (Function cb, PVOID State, HANDLE Event, int timeout) |
Queue a work item to the process-wide threadpool to call Function cb which accepts a PVOID as parameter when the event is signaled or the timeout expires. |
template<class Function > bool DestroyEvent (PVOID EventHandle) |
Cancel any interest in the event previously registered. Method accepts the handle returned by the RegisterEvent method. |
template<class Function > bool ReRegisterEvent (PVOID EventHandle) |
ReRegister interest in the event previously registered. Method accepts the handle returned by the RegisterEvent method. |
template<class Function > bool ReRegisterEvent (PVOID EventHandle, int timeout) |
ReRegister interest in the event previously registered with a different timeout. Method accepts the handle returned by the RegisterEvent method. |
Class windowsthreadpool::Timer
Public Member Functions |
Description |
Timer (size_t mSeconds, Function cb) |
Constructor which accepts a function cb to call when the time expires in milliseconds. |
Timer (size_t mSeconds, size_t Period, Function cb) |
Constructor which accepts a function cb to call when the time expires in milliseconds. It keeps calls this function at the specified period in milliseconds. |
Timer (size_t mSeconds, Function cb, PVOID State) |
Constructor which accepts a function cb to call and a PVOID parameter which it takes as input when the time expires in milliseconds. |
Timer (size_t mSeconds, size_t Period, Function cb, PVOID State) |
Constructor which accepts a function cb to call and a PVOID parameter which it takes as input when the time expires in milliseconds. It keeps calls this function at the specified period in milliseconds. |
void DestroyTimer () |
Cancels all interest in the timer. |
Comments
- Anonymous
January 20, 2011
Great posts!! As you said I would love to see a post about asynchronous IO. Specially using sockets and this new thread pool. Thanks, G.