C#从零开始学线程_006_ThreadPool(线程池)
线程池的用途是执行运行时间短的操作。
线程池适用于需要大量短暂的开销大的资源的情形。
事先分配一定的资源,将这些资源放入到资源池。每次需要新的资源,只需从池中获取一个,而不用创建一个新的。当该资源不再被使用时,就将其返回到池中。
1 internal void Do() 2 { 3 ThreadPool.QueueUserWorkItem(AsyncOperation); 4 Thread.Sleep(1000); 5 6 ThreadPool.QueueUserWorkItem(AsyncOperation, "传入的参数state-1"); 7 Thread.Sleep(1000); 8 9 ThreadPool.QueueUserWorkItem(state => 10 { 11 Console.WriteLine($"传入的参数state的值为: {state}"); 12 }, "传入的参数state-2"); 13 14 Thread.Sleep(TimeSpan.FromSeconds(1)); 15 } 16 17 private void AsyncOperation(object state) 18 { 19 Console.WriteLine($"---------------------: {state?.ToString()}"); 20 }