多线程之Semaphore信号量理解

Semaphore介绍:

Semaphore是一个计数信号量,本质是一个共享锁。线程可以通过acquire()来获取信号量许可。举个例子,假设初始化时给定一个信号量值,比如是5,线程调用acquire()方法时,判断这个信号量是否大于0,如果大于0就把信号量的值减1,然后继续执行。如果不大于0,那么就会阻塞。知道其他线程调用releas()方法,释放一个信号量。
其实就和PV操作一样

你可能感兴趣的:(java知识点,多线程并发)