public class SemaphoreQueryBackPressure extends Semaphore implements QueryBackPressure
SemaphoreProtectedReleaseQueryBackPressure
which has a tiny overhead
for `releaseAfterQuery` calls but protects those calls from the possible side effects of calling
`releaseAfterQuery` more than once for any `acquireBeforeQuery` call.Constructor and Description |
---|
SemaphoreQueryBackPressure(int backPressureLimit) |
Modifier and Type | Method and Description |
---|---|
void |
acquireBeforeQuery()
Acquires one slot.
|
void |
close()
Releases any resources related to the back pressure mechanism.
|
void |
releaseAfterQuery()
Releases one slot in non-blocking fashion.
|
acquire, acquire, acquireUninterruptibly, acquireUninterruptibly, availablePermits, drainPermits, getQueuedThreads, getQueueLength, hasQueuedThreads, isFair, reducePermits, release, release, toString, tryAcquire, tryAcquire, tryAcquire, tryAcquire
public SemaphoreQueryBackPressure(int backPressureLimit)
public void acquireBeforeQuery()
QueryBackPressure
acquireBeforeQuery
in interface QueryBackPressure
public void releaseAfterQuery()
QueryBackPressure
releaseAfterQuery
in interface QueryBackPressure
public void close()
QueryBackPressure
close
in interface QueryBackPressure
Copyright © 2012–2023. All rights reserved.