728x90
DeadLock
-
C++, 멀티스레드 교착상태(DeadLock)C++/C++ 멀티스레드 2022. 10. 8. 11:06
DeadLock은 멀티스레드 프로그래밍을 할 때 만나게 되는 대표적인 문제점 중 하나이다. DeadLock의 개념부터 알아보고 넘어가자. 각각의 스레드가 Lock을 갖고 있는데, Lock을 놓기 위해서는 다른 스레드의 Lock이 필요한 상황 을 DeadLock이라고 할 수 있을 것 같다. 사실 잘 와닿지 않을 수 있다. 적절한 예시가 될지 모르겠지만 데드락을 배우다보니 이런 상황이 생각이 났다. 고등학교를 다닐 때 우리 반 선생님은 엄한 사람이였다. 체벌이 있던 시절이다 보니, 야간자율학습을 하지 않고 도망가면 다음날에 적어도 3대씩은 맞았다. 기분에 따라서 5대까지 늘어나기도 했다. 하지만 나는 야간자율학습을 성실히 하던 학생이 아니였다. 항상 저녁을 먹고 학교에 올라와서 친구들과 도망갈까말까에 대한 ..