信号量的目的是为了限流,洪峰流量,一起访问,服务器可能服务宕机
限制每次线程的访问量,其他的线程等待。
以停车场为例
这是直接锁,有多个线程,但是只有有限数量的“车位”可以用,因此排队等待,出来一个再进去一个。
继续
无参方法tryAcquire()的作用是尝试的获得1个许可,如果获取不到则返回false,该方法通常与if语句结合使用,其具有无阻塞的特点。无阻塞的特点可以使线程不至于在同步处一直持续等待的状态,如果if语句判断不成立则线程会继续走slse语句,程序会继续向下运行。
以限时秒杀为例,一次只能进入五个,判定成功进去,判定失败out,不会阻塞。