Package org.apache.tapestry5.http.internal.services

# Interface SessionLock

public interface SessionLock
A wrapper around `ReentrantReadWriteLock` used to manage the lock for a session. Once a lock is acquired, a callback is registered with the `PerthreadManager` to release the lock at the end of the request.

Since:
  5.4

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `acquireReadLock()`
  Acquires the read lock, if the shared read lock, or exclusive write lock, is not already held by this thread.
  `void`
  `acquireWriteLock()`
  Acquires the exclusive write lock; may release the (shared) read lock before acquiring the write lock; this may block for a while.

- ## Method Details

  - ### acquireReadLock

    void acquireReadLock()
    Acquires the read lock, if the shared read lock, or exclusive write lock, is not already held by this thread.

  - ### acquireWriteLock

    void acquireWriteLock()
    Acquires the exclusive write lock; may release the (shared) read lock before acquiring the write lock; this may block for a while. Does nothing if the write lock is already held by this thread.