ThreadPool

ThreadPool CF 1.0

System.Threading (mscorlib.dll) sealed class

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 bool  BindHandle  (IntPtr   osHandle   );    public static void  GetAvailableThreads  (out int   workerThreads   , out int   completionPortThreads   );    public static void  GetMaxThreads  (out int   workerThreads   , out int   completionPortThreads   );    public static void  GetMinThreads  (out int   workerThreads   , out int   completionPortThreads   );    public static bool  QueueUserWorkItem  (WaitCallback   callBack   );    public static bool  QueueUserWorkItem  (WaitCallback   callBack   , object   state   );    public static RegisteredWaitHandle  RegisterWaitForSingleObject  (WaitHandle   waitObject   ,        WaitOrTimerCallback   callBack   , object   state   , int   millisecondsTimeOutInterval   , bool   executeOnlyOnce   );    public static RegisteredWaitHandle  RegisterWaitForSingleObject  (WaitHandle   waitObject   ,        WaitOrTimerCallback   callBack   , object   state   , long   millisecondsTimeOutInterval   , bool   executeOnlyOnce   );    public static RegisteredWaitHandle  RegisterWaitForSingleObject  (WaitHandle   waitObject   ,        WaitOrTimerCallback   callBack   , object   state   , TimeSpan   timeout   , bool   executeOnlyOnce   );    public static RegisteredWaitHandle  RegisterWaitForSingleObject  (WaitHandle   waitObject   ,        WaitOrTimerCallback   callBack   , object   state   , uint   millisecondsTimeOutInterval   , bool   executeOnlyOnce   );    public static bool  SetMinThreads  (int   workerThreads   , int   completionPortThreads   );    public static bool  UnsafeQueueUserWorkItem  (WaitCallback   callBack   , object   state   );    public static RegisteredWaitHandle  UnsafeRegisterWaitForSingleObject  (WaitHandle   waitObject   ,                  WaitOrTimerCallback   callBack   , object   state   , int   millisecondsTimeOutInterval   , bool   executeOnlyOnce   );    public static RegisteredWaitHandle  UnsafeRegisterWaitForSingleObject  (WaitHandle   waitObject   ,           WaitOrTimerCallback   callBack   , object   state   , long   millisecondsTimeOutInterval   , bool   executeOnlyOnce   );    public static RegisteredWaitHandle  UnsafeRegisterWaitForSingleObject  (WaitHandle   waitObject   ,                WaitOrTimerCallback   callBack   , object   state   , TimeSpan   timeout   , bool   executeOnlyOnce   );    public static RegisteredWaitHandle  UnsafeRegisterWaitForSingleObject  (WaitHandle   waitObject   ,        WaitOrTimerCallback   callBack   , object   state   , uint   millisecondsTimeOutInterval   , bool   executeOnlyOnce   ); } 


C# in a Nutshell
C # in a Nutshell, Second Edition
ISBN: 0596005261
EAN: 2147483647
Year: 2005
Pages: 963

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net