Acquires a lock on the requested identifier. The promise will resolve when the lock has been acquired.
Resource to acquire a lock on.
Releases a lock on the requested identifier. The promise will resolve when the lock has been released. If there is no lock on the resource, an error should be thrown.
Resource to release the lock on.
An interface for classes that only have 1 way to lock interfaces. In general this should only be used by components implementing the ReadWriteLocker interface. Other components that require locking of resources should use that interface.