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

不用线程池,使用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();//信号量自增
} 

 

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