请问在C#下多线程的问题
问题:   我现在有一   100条任务要处理,   
 调用多线程操作,有什么办法限制   同时处理为   10   个线程,别的线程都为等待.   
 我现在是 
 用   muxConsole.WaitOne();      //阻塞队列   好像不行
------解决方案--------------------
我恰好有个类似的代码。 
 思路是先在ThreadPool中放入10个线程,然后等待其中的任何一个执行结束WaitHandle.WaitAny(),WaitOne的返回值正好是ManualResetEvent数组的下标,再补充另一个待执行的线程进入ThreadPool Queue,最后用WaitHandle.WaitAll()等着剩下所有的线程执行结束。 
             // Append maxEventCount threads 
             for (int b = 0; b  < maxEventCount; b++) 
             { 
                 string s = string.Format( "{0}.{1}.{2}.{3} ", ipBits[0], ipBits[1], ipBits[2], b); 
                 mrEvents[b] = new ManualResetEvent(false); 
                 ThreadPool.QueueUserWorkItem(MultiThreadTryIp, new State(s, mrEvents[b]) as object); 
             } 
             int ipAddCount = maxEventCount; 
             while (ipAddCount  <= byte.MaxValue) 
             { 
                 int appendTo = WaitHandle.WaitAny(mrEvents); 
                 string s = string.Format( "{0}.{1}.{2}.{3} ", ipBits[0], ipBits[1], ipBits[2], ipAddCount); 
                 ipAddCount++;   
                 //System.Diagnostics.Debug.WriteLine(s); 
                 // ShowFreeThread();   
                 mrEvents[appendTo] = new ManualResetEvent(false); 
                 ThreadPool.QueueUserWorkItem(MultiThreadTryIp, new State(s, mrEvents[appendTo]) as object); 
             } 
             WaitHandle.WaitAll(mrEvents);