Из docs:
threading.RLock() - A factory, которая возвращает новый объект блокировки ретентата. Блокировка реентера должна быть освобождена потоком, который его приобрел. После того, как поток приобрел блокировку реентера, тот же поток может получить его снова без блокировки; поток должен освобождать его один раз за каждый раз, когда он его приобрел.
Я не уверен, зачем нам это нужно?
какая разница между Rlock
и Lock
?
спасибо