Name
ThreadPool
Synopsis
Creating or destroying a thread takes a fair amount of work.
Therefore, if you pool threads, your program executes more
efficiently since you get rid of the overhead associated with
creating and destroying threads. There is one thread pool per
process. To queue work to execute by this pool of worker threads,
call any of the ThreadPool
static
methods. QueueUserWorkItem()
queues a delegate to execute when one of the pool’s threads becomes
free. RegisterWaitForSingleObject()
takes a WaitHandle
and
executes the specified method either when the WaitHandle
is in the signaled state or when a time-out
occurs. BindHandle()
and UnsafeQueueUserWorkItem()
are provided for compatibility with the Win32 API.
public sealed class ThreadPool { // Public Static Methods public static method bool BindHandle(IntPtr osHandle); public static method void GetAvailableThreads( out int workerThreads, out int completionPortThreads); public static method void GetMaxThreads( out int workerThreads, out int completionPortThreads); public static method bool QueueUserWorkItem( WaitCallback callBack); public static method bool QueueUserWorkItem( WaitCallback callBack, object state); public static method RegisteredWaitHandle RegisterWaitForSingleObject( WaitHandle waitObject, WaitOrTimerCallback callBack, object state, int millisecondsTimeOutInterval, bool executeOnlyOnce); public static method RegisteredWaitHandle RegisterWaitForSingleObject( WaitHandle waitObject, WaitOrTimerCallback callBack ...
Get C# in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.