[JAVA] concurrent programming - 교착상태(Dead Lock)
지금당장해
프롤로그 필자는 전산학을 공부했다. 요즘은 컴퓨터 공학이라고 하는데 틀린말이다. 우린 컴퓨터를 만드는 법을 배우지 않았다. 컴퓨터 사이언스가 맞다. 필자의 사견이니 학과명 변경을 주도하시고 찬성하신 "교수님들 노여워 마세요!" 왜 전공 운운 했냐면 교착상태/Dead Lock 학교다닐때 다 배운거라는 것이다. 그런데 오랜 세월 요즘 말로 하면 프로트엔드 그것도 웹이 아닌 VC++,C#으로 Native 프로그램을 주로 해오다 보니 Thread를 만들더라도 그저 UI에 Lock이 안걸리게 하는 수준 이였다. 그런데 요즘 서버에서 동작하는 서비스 프로그램을 작성하다 보니 불량 Thread를 검출해야 하는 미션이 생겼다. 그러다 보니 소위 DeadLock이 되는 상황을 만들어 놓고 Test case를 돌리려 하는..