code: def acquire(
          self, timeout: Union[float, datetime.timedelta] = None
      ) -> Awaitable[_ReleasingContextManager]:
          
          return self._block.acquire(timeout)
docs: Attempt to lock. Returns an awaitable.
  
          Returns an awaitable, which raises `tornado.util.TimeoutError` after a
          timeout.