package com.qmth.boot.core.concurrent.model;

/**
 * 单一许可的抽象信号量，兼容JUC和Redisson等多种实现
 */
public interface Semaphore {

    void acquire() throws InterruptedException;

    boolean tryAcquire();

    void release();

    boolean isAvailable();
}
