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 shared 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 NotInheritable Class ThreadPool
                  ' Public Shared Methods
   Public Shared Function BindHandle(
        ByVal osHandle As IntPtr) As Boolean  
   Public Shared Sub GetAvailableThreads(
        ByRef workerThreads As Integer, 
        ByRef completionPortThreads As Integer) 
   Public Shared Sub GetMaxThreads(
        ByRef workerThreads As Integer, 
        ByRef completionPortThreads As Integer) 
   Public Shared Function QueueUserWorkItem(
        ByVal callBack As WaitCallback) As Boolean  
   Public Shared Function QueueUserWorkItem(
        ByVal callBack As WaitCallback, 
        ByVal state As Object) As Boolean  
   Public Shared Function RegisterWaitForSingleObject( ByVal waitObject As WaitHandle, ByVal callBack As WaitOrTimerCallback, ByVal state As Object, ByVal millisecondsTimeOutInterval As Integer, ByVal executeOnlyOnce As Boolean) As RegisteredWaitHandle ...

Get VB.NET Core Classes 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.