摘要:
目前项目里面有个需求,需要多线程操作数据库,等待数据库操作完毕之后,主线程才能继续执行以后的操作。想了想,最后决定使用两个信号量来完成这个需求。具体需求如下 :操作数据库的线程最多20个主线程必须等待所有操作数据库的线程返回后,才能进行下一步操作具体操作步骤如下:声明一个最大值为20,初始值为20的信号量s1和一个最大值为1,初始值为0的信号量s2,以及一个任务计数器count。将需要线程池操作的任务数赋给count。在调用线程池的循环中,调用s1的WaitOne方法,在线程的具体操作执行完毕后调用s1的Release方法,并且使用Interlocked的Decrement方法将任务数coun 阅读全文