Striped<Lock> stripedLock = Striped.lock(10);
Lock lock = stripedLock.get(key);
lock.lock();
try {
} finally {
lock.unlock();
}
2. EventListeners
EventListenerList<EventListener> listenerList = new EventListenerList<>();
listenerList.addListener(eventListener);
listenerList.fireEvent(event);
listenerList.removeListener(eventListener);
3. RateLimiter
<dependency>
<groupId>com.atlassian.util.concurrent</groupId>
<artifactId>atlassian-concurrency</artifactId>
<version>2.4.0</version>
</dependency>
import com.atlassian.util.concurrent.EventListenerList;
import com.google.common.util.concurrent.Striped;
import com.google.common.util.concurrent.RateLimiter;