Semaphore
计数方式实现的旗语,一个旗语维护一组概念上的许可。每个线程 acquire 都会在必要时阻塞,直到有许可证可用,然后获取它,许可数量减一。每次释放都会增加一个许可,从而有可能释放阻塞在 acquire 的线程。不过, Semaphore 并不使用实际的许可对象;它只是对可用数量进行计数,并采取相应的行动。 如此 Semaphores 通常用于限制可以访问某些(物理或逻辑)资源的线程数量。也就是说,当你希望只有 permits 个线程可以并发访问这些资源是,通过 Semaphore (int permits, boolean fair) 实例化 permits 个许可资源,线程 aquire...
more...