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, tryAcquirepublic SemaphoreQueryBackPressure(int backPressureLimit)
public void acquireBeforeQuery()
QueryBackPressureacquireBeforeQuery in interface QueryBackPressurepublic void releaseAfterQuery()
QueryBackPressurereleaseAfterQuery in interface QueryBackPressurepublic void close()
QueryBackPressureclose in interface QueryBackPressureCopyright © 2012–2024. All rights reserved.