A thread pool is a collection of worker threads that efficiently execute asynchronous callbacks on behalf of the application.
Thread pool is basically collection of threads which can be used for preforming task in background. Using thread pool is a good practice over creating a new thread for you task. Whenever the task of a thread from thread pool is completed, then the thread is automatically returned back into the thread queue so that it can be re-used by other asynchronous requests. .NET provides inbuilt support for thread pool. Below is a simple example which will explain how can we use the thread pool.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | using System; using System.Threading; static void Main() { // Calling MyWaitCallback asynchronously ThreadPool.QueueUserWorkItem(MyWaitCallback, 0); Console.WriteLine("Please wait while we are processing..."); } public static void MyWaitCallback(object state) { int threadNo = (int)state; // Processing code here Console.WriteLine("Process Completed Thread {0}...", threadNo); } |