Acquires a lock on the requested identifier. The promise will resolve when the lock has been acquired.
Releases a lock on the requested identifier. The promise will resolve when the lock has been released. In case there is no lock on the resource an error should be thrown.
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.