Class LockTree.Session

  • Enclosing class:
    LockTree

    public class LockTree.Session
    extends Object
    This class is used to mark nodes for which acquiring a lock was attempted but didn't succeed. Lock acquisition failure needs to be "remembered" to trigger failures to acquire a competing lock until the Session is replaced, to prevent tasks enqueued later (and dequeued later once the busy lock got released) from being executed before earlier tasks that failed to execute because the lock wasn't available earlier when they attempted to acquire it.

    A new Session is created each time the iteration over the queue tasks is restarted starting at the oldest non running or completed tasks.