리소스의 할당과 해제

Posted by epicdev Archive : 2011. 10. 3. 13:22
리소스를 할당한 순서의 반대로 해제하라. 이렇게 해야 한 리소스가 다른 리소스를 참조하는 경우에도 리소스를 고아로 만들지 않는다.

코드의 여러 곳에서 동일한 리소스 집합을 할당하는 경우, 할당 순서를 언제나 같게 하라. deadlock 가능성이 줄어들 것이다. (프로세스 B가 리소스2를 이미 확보하고서 리소스1을 획득하려고 하고 있는데 프로세스 A가 리소스1을 가진 상태로 리소스2를 요청하려고 한다면, 이 두개의 프로세스는 영원히 기다리게 될 것이다.)

어떤 종류의 리소스를 사용하고 있는지는 중요하지 않다. 트랜잭션이나 메모리이건, 파일 혹은 쓰레드, 윈도우이건 모두 기본 패턴이 적용된다. 리소스를 할당하는 것이 누구이든, 그 리소스를 해제할 책임까지 져야 한다.

 
실용주의프로그래머
카테고리 컴퓨터/IT > 프로그래밍/언어
지은이 앤드류 헌트 (인사이트, 2007년)
상세보기