Semaphore翻译成字面意思为 信号量,Semaphore可以控同时访问的线程个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可. acquire()用来获取一个许可,若无许可能够获得,则会一直等待,直到获得许可. release()用来释放许可.注意,在释放许可之前,必须先获获得许可. 下面通过一个例子来看一下Semaphore的具体使用: 假若一个工厂有5台机器,但是有8个工人,一台机器同时只能被一个工人使用,只有使用完了,其他工人才能继续…