不用线程池,使用Semaphore信号量同样也可以控制Thread多线程的并行数量。

static Semaphore sem = new Semaphore(100, 100); 


for (int i = 0; i <1000; i++)

            {

                Thread td = new Thread(new ParameterizedThreadStart(方法));

                td.Start(i);

            }

static void 方法(object i)

{

       sem.WaitOne();//自减信号量

       方法体...

       执行完成。。。。

       sem.Release();//信号量自增
} 

 

posted on 2017-07-22 19:15  LarvaAndQing  阅读(269)  评论(0编辑  收藏  举报

导航