信号量(semaphore)不过是由内核维护的 int32变量而已,(说通俗点就是好比一个线程容器里面允许执行的线程数,0计数就是允许执行的0个线程数,1就是允许执行的1个线程数,2就是允许执行的2个线程数,等等一次类推......,0就是当前执行的线程数占满了容器没空余的了). 当信号量为0时,在信号量上等待的线程会全部阻塞: 当信号量大于0时,就解除阻塞. 在一个信号量上等待的一个线程解除阻塞时,内核自动从信号量的计数中减1,线程运行完后调用Release,计数就加1.信号量还关联了一个最大…