1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #region using using System; using System.Threading; using Amib.Threading; #endregion namespace 线程池 { internal class Program { private static void Main( string [] args) { STPStartInfo stpStartInfo = new STPStartInfo {StartSuspended = true }; SmartThreadPool stp = new SmartThreadPool(stpStartInfo); for ( int i = 0; i < 4; i++) { stp.QueueWorkItem((WorkItemCallback) a,i); } stp.Start(); stp.WaitForIdle(); Console.WriteLine( "finished" ); stp.Shutdown(); Console.ReadLine(); } public static object a( object state) { Console.WriteLine( "test" ); Thread.Sleep(10000); Console.WriteLine( "sleep" +( int )state); return null ; } } } |