Click or drag to resize

WorkerThreadPool Methods

The WorkerThreadPool type exposes the following members.

Methods
  NameDescription
Public methodAbortThreadsExceedingMaxBusyTime
This method removes threads from the busy pool if the maximum busy time is exceeded. Additionally if the thread is being stopped, if it doesn't join within 100ms abort is signalled via Abort.
Public methodAddWorkItem(IWorkItem)
Adds a work item to the internal queue but and immediately starts processing the item, see also AddWorkItem(IWorkItem, Boolean) and StartProcessing.
Public methodAddWorkItem(IWorkItem, Boolean)
Adds a work item to the internal queue but does not yet start processing them, see StartProcessing for that.
Protected methodCheckAddNewWorkerThread
Determines whether new threads should be spawned, ensures that MinWorkerThreads threads are available for processing
Protected methodCheckDisposed
Call this method to check if the thread pool is still available.
Public methodDispose
Call this method to clean up all threads from the pool, in that case the ThreadPool instance cannot be used anymore, calls to functions of it will result in an ObjectDisposedException.
Protected methodDispose(Boolean)
Implementation of IDispsable interface
Public methodStatic memberGetCpuUsage
Determines the overall cpu usage of the current process
Protected methodOnApplicationExit
Stops any pending threads if the applications exits
Public methodQueueGUIWorkItem
Adds a work item to the Threadpool that is immediately being processed. When the WorkItem is finished Event OnCompleted is raised on the calling synchronization context, so that no BeginInvoke is needed to update the main thread.
Public methodQueueUserWorkItem(WaitCallback)
Adds a user work item to the Threadpool that is immediately being processed.
Public methodQueueUserWorkItem(WaitCallback, Object)
Adds a user work item to the Threadpool that is immediately being processed.
Public methodQueueUserWorkItem(WaitCallback, Object, Int32)
Adds a user work item to the Threadpool that is immediately being processed and tagged with the given handle.
Public methodQueueUserWorkItem(WaitCallback, Object, Int32, Int32)
Adds a user work item to the Threadpool that is processed after the given time and tagged with the given handle.
Public methodQueueUserWorkItemT(ActionT)
Public methodQueueUserWorkItemT(ActionT, T)
Public methodQueueUserWorkItemT(ActionT, T, String)
Public methodRemoveThreadsExceedingMaxIdleTime
This method removes threads from the idle pool where the maximum idle time is exceeded. This method does nothing if only MinWorkerThreads are active
Public methodStartProcessing
Start processing the work items (AddWorkItem(IWorkItem, Boolean))
Public methodTerminateProcessing
Stops processing work items that are queued. Running threads will be aborted after MaxTimeUntilHardTerminate ms.
Public methodTerminateProcessing(Boolean)
Stops processing work items that are queued.
Public methodTerminateProcessing(Int32)
Stops processing the threads.
Public methodTerminateWorkItemsForTag
Removes all pending work items from the work queue and terminates the running work items having the tag specified.
Public methodTerminateWorkItemsForType
Removes all pending work items of type 'type'.
Public methodToString
Returns a string that represents the current object.
(Overrides ObjectToString.)
Public methodToString(Boolean)
Returns the list of WorkItems in the Queue and that are being processed at the moment. Note that the NameTag has to be set when queueing the items with QueueUserWorkItem.
Public methodWaitFinish
Waits until all threads finished processing (the workitem queue is empty).
Public methodWaitFinish(Int32)
Waits until all threads finished processing (the workitem queue is empty).
Top
See Also