class Program
    {
        static Semaphore sep = new Semaphore(10, 100);//控制并行最小线程数为10,最大100。
        static void Main(string[] args)
        {
            for (int i = 0; i < 100; i++)
            {
                Task tk = Task.Factory.StartNew(ok,i);
                
            }  
        } 
        static void ok(object i)
        {
            sep.WaitOne();//自减信号量
            Console.WriteLine("FOR:{0}",i); 
        }
    }
貌似必没有执行完10个线程就结束了;请老师指点。