代码如下 using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Threading; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { AutoResetEvent mainEvent =new AutoResetEvent (false ); //首次打印线程池状态信息 PrintThreadPoolsInfo(); //创建一个工作进程 ThreadPool.QueueUserWorkItem(new WaitCallback(fnWordThread), mainEvent); //再次打印线程池状态信息 PrintThreadPoolsInfo(); //等待线程操作结束 mainEvent .WaitOne (5000,false ); Console.Read(); } //打印线程池状态的函数 private static void PrintThreadPoolsInfo() { Console.WriteLine ("检查线程池状态:{0}",DateTime.Now.ToString ("HH:mm:ss:fff")); int nWorkThreads;//线程池中辅助线程的最大数目 int nPortThreads;//线程池中异步I/O线程的最大数目 ThreadPool.GetMaxThreads (out nWorkThreads ,out nPortThreads ); int nWorkAvailable; int nPortAvailable; ThreadPool.GetAvailableThreads(out nWorkAvailable, out nPortAvailable); Console.WriteLine ("辅助线程最多: {0},可用:{1}",nWorkThreads ,nWorkAvailable ); Console.WriteLine ("异步I/O线程 最多:{0}, 可用:{1}",nPortThreads ,nPortAvailable ); } private static void fnWordThread(object objState) { FileStream fs=new FileStream (@"C:/test.txt",FileMode.Create ); StreamWriter sw=new StreamWriter (fs); for (int i=0;i<1000;i++) { string sMsg=string.Format ("{0} {1} ",i+1,DateTime.Now.ToString ("HH:mm:ss:fff")); sw.WriteLine(sMsg ); } sw.Close (); sw.Dispose (); fs.Close (); fs.Dispose (); AutoResetEvent objEvent=(AutoResetEvent )objState; objEvent.Set (); } } }