当多个任务或线程并行运行时,难以避免的对某些有限的资源进行并发的访问.可以考虑使用信号量来进行这方面的控制(System.Threading.Semaphore)是表示一个Windows内核的信号量对象.如果预计等待的时间较短,可以考虑使用SemaphoreSlim,它则带来的开销更小..NetFrameWork中的信号量通过跟踪进入和离开的任务或线程来协调对资源的访问.信号量需要知道资源的最大数量,当一个任务进入时,资源计数器会被减1,当计数器为0时,如果有任务访问资源,它会被阻塞,直到有任务…