Interface SemaphoreKeeper<K>
- 
- Type Parameters:
- K- key type
 - All Known Implementing Classes:
- SemaphoreKeeperGuavaImpl
 
 public interface SemaphoreKeeper<K>Key based semaphore provider. For the same key there is always only one semaphore available. Unused semaphores are garbage-collect.
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description voidreleaseGuard(@Nullable Semaphore guard)Unlock and release guard.SemaphoresummonGuard(@NonNull K key)Create or load semaphore for key from cache.SemaphoresummonGuardAndAcquire(@NonNull K key)Get guard and lock for key.
 
- 
- 
- 
Method Detail- 
summonGuardSemaphore summonGuard(@NonNull K key) Create or load semaphore for key from cache.- Parameters:
- key- semaphore identifier
- Returns:
- new or existing semaphore for given key, for one key there is always only one semaphore available
 
 - 
summonGuardAndAcquireSemaphore summonGuardAndAcquire(@NonNull K key) Get guard and lock for key.- Parameters:
- key- for which guard should be created and acquired
- Returns:
- semaphore guard
 
 - 
releaseGuardvoid releaseGuard(@Nullable Semaphore guard) Unlock and release guard.- Parameters:
- guard- semaphore guard which should be released
 
 
- 
 
-