Class IsBuildObjectCompleteOutcome


  • public class IsBuildObjectCompleteOutcome
    extends Object
    Helper type that tells us for a given cache key what threads are having some sort of relationship to the cache key (e.g acquired the cache key as an active thread, have a deferred lock on the cache key or have incremented the counter of readers on the lock or simply are stuck waiting for the cache key to be available.
    • Field Detail

      • BUILD_OBJECT_IS_COMPLETE_TRUE

        public static final IsBuildObjectCompleteOutcome BUILD_OBJECT_IS_COMPLETE_TRUE
        Algorithm can return null when it detects that the object is fully built ant the thread should be allowed to progresses.
    • Constructor Detail

      • IsBuildObjectCompleteOutcome

        public IsBuildObjectCompleteOutcome​(Thread threadBlockingTheDeferringThreadFromFinishing,
                                            ConcurrencyManager cacheKeyOwnedByBlockingThread)
        Create a new IsBuildObjectCompleteOutcome.
        Parameters:
        threadBlockingTheDeferringThreadFromFinishing - the thread that during going in deep in the recursion is discovered as blocking our initial thread
        cacheKeyOwnedByBlockingThread - the cache key that the blocking thread is currently owning and not releasing.