使用者继承 AbstractQueuedSynchronizer 并重写指定的方法。将 AQS 组合在自定义同步组件的实现中,并调用其模板方法,而这些模板方法会调用使用者重写的方法。
isHeldExclusively() :该线程是否正在独占资源。只有用到 condition 才需要去实现它。
tryAcquire(int) :独占方式。尝试获取资源,成功则返回 true,失败则返回 false。
tryRelease(int) :独占方式。尝试释放资源,成功则返回 true,失败则返回 false。
tryAcquireShared(int) :共享方式。尝试获取资源。负数表示失败;0 表示成功,但没有剩余可用资源;正数表示成功,且有剩余资源。
tryReleaseShared(int) :共享方式。尝试释放资源,成功则返回 true,失败则返回 false。
使用者继承 AbstractQueuedSynchronizer 并重写指定的方法。将 AQS 组合在自定义同步组件的实现中,并调用其模板方法,而这些模板方法会调用使用者重写的方法。
isHeldExclusively() :该线程是否正在独占资源。只有用到 condition 才需要去实现它。
tryAcquire(int) :独占方式。尝试获取资源,成功则返回 true,失败则返回 false。
tryRelease(int) :独占方式。尝试释放资源,成功则返回 true,失败则返回 false。
tryAcquireShared(int) :共享方式。尝试获取资源。负数表示失败;0 表示成功,但没有剩余可用资源;正数表示成功,且有剩余资源。
tryReleaseShared(int) :共享方式。尝试释放资源,成功则返回 true,失败则返回 false。