@Override public void unregisterTracker(ReadyTracker readyTracker) { rwlTrackers.writeLock().lock(); try { if (trackers.containsKey(readyTracker)) { notifyTracker(readyTracker, marker -> readyTracker.onReadyMarkerRemoved(marker)); } trackers.remove(readyTracker); } finally { rwlTrackers.writeLock().unlock(); } }
@Override public void unmarkReady(ReadyMarker readyMarker) { rwlTrackers.readLock().lock(); try { boolean isRemoved = markers.remove(readyMarker); if (isRemoved) { notifyTrackers(readyMarker, tracker -> tracker.onReadyMarkerRemoved(readyMarker)); logger.trace("Removed ready marker {}", readyMarker); } } finally { rwlTrackers.readLock().unlock(); } }
@Override public void unregisterTracker(ReadyTracker readyTracker) { rwlTrackers.writeLock().lock(); try { if (trackers.containsKey(readyTracker)) { notifyTracker(readyTracker, marker -> readyTracker.onReadyMarkerRemoved(marker)); } trackers.remove(readyTracker); } finally { rwlTrackers.writeLock().unlock(); } }
@Override public void unmarkReady(ReadyMarker readyMarker) { rwlTrackers.readLock().lock(); try { boolean isRemoved = markers.remove(readyMarker); if (isRemoved) { notifyTrackers(readyMarker, tracker -> tracker.onReadyMarkerRemoved(readyMarker)); logger.trace("Removed ready marker {}", readyMarker); } } finally { rwlTrackers.readLock().unlock(); } }