Python: threading.Lock VS threading.RLock
병렬 처리를 위한 threading 사용시, DB 접근이 필요한 로직이 있을 경우,데이터 무결성 등을 위해 DB 접근이 동시에 되는 것을 막도록 Lock을 걸어야 한다. 근데 이때, Lock을 건 동일한 프로세스에서 Lock을 풀기 전에 다시 DB에 접근해야 하는 경우가 있다.(이러지 않는게 좋겠지만, 비동기 처리를 고려하지 않은 코드를 비동기 코드로 바꾸면서, 한 프로세스에서 여러 차례의 DB 접근이 있을 때 Lock, Release, Lock, Relase를 일일히 하지 않고 처리하고 싶을 때 등) 이를 가능하게 하는 것이 RLock이다, (Reentrant Lock: 재입장 가능한 잠금)일반 Lock은 Lock을 걸었냐 안 걸었냐를 통해서만 접근을 막는다면RLock은 누가 Lock을 걸었는지,그..