com.google.common.util.concurrent

## Interface CycleDetectingLockFactory.Policy

- All Known Implementing Classes:
    CycleDetectingLockFactory.Policies
  Enclosing class:
    CycleDetectingLockFactory

      @Beta
      @ThreadSafe
      public static interface CycleDetectingLockFactory.Policy

  Encapsulates the action to be taken when a potential deadlock is encountered. Clients can use one of the predefined `CycleDetectingLockFactory.Policies` or specify a custom implementation. Implementations must be thread-safe.
  Since:
    13.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `handlePotentialDeadlock(CycleDetectingLockFactory.PotentialDeadlockException exception)` Called when a potential deadlock is encountered.

- - ### Method Detail

    - #### handlePotentialDeadlock

          void handlePotentialDeadlock(CycleDetectingLockFactory.PotentialDeadlockException exception)

      Called when a potential deadlock is encountered. Implementations can throw the given `exception` and/or execute other desired logic.

      Note that the method will be called even upon an invocation of `tryLock()`. Although `tryLock()` technically recovers from deadlock by eventually timing out, this behavior is chosen based on the assumption that it is the application's wish to prohibit any cyclical lock acquisitions.