Implement a non-reentrant Lock class supporting the context manager protocol.
Constraints
Example
>>> lock = Lock()
>>> with lock:
... print('inside')
...
inside
>>> try:
... lock.acquire()
... lock.acquire()
... except RuntimeError as e:
... print(e)
...
Lock already acquired
>>> lock.release()
>>> try:
... lock.release()
... except RuntimeError as e:
... print(e)
...
Lock not acquired
Recent Submissions
No submissions yet — hit Run Tests to try!
Hints