信号量:
可以使用信号量来限制访问一个共享资源的线程数。
信号量指对共同资源进行访问控制的对象。在访问资源之前,线程必须从信号量获取许可。在访问完资源之后,这个线程必须将许可返回给信号量。
为了创建信号量,必须确定许可的数量,同时可炫耀公平策略。
java.util.concurrent.Semaphore
+Semaphore(numberOfPermits: int) 创建一个具有指定书目的许可信号量。公平性策略参数为假。
+Semaphore(numberOfPermits: int, fair:boolean) 创建一个具有指定数目的许可及公平性策略的信号量
+acquire():void 从该信号量获取一个许可。如果许可不可用,线程将被阻塞,知道一个许可可用
+release():void 释放一个许可返回给信号量
只有一个许可的信号量可以用来模拟一个相互排斥的锁。