2015-01-20 2 views
0

최근 스레드 잠금이 시스템 리소스이므로 "메모리와 마찬가지로"적절히 릴리스되어야한다고 읽었습니다. 나는이 사실을 정말로 알지 못한다는 것을 깨달았다.스레드가 리소스를 잠그는 이유는 무엇입니까?

다른 사람이이 사실에 대해 자세히 설명하거나 좋은 참고 자료를 가리킬 수 있습니까? 보다 구체적으로 : 더 깊은 시스템 레벨에서 잠금 구현에 대해 어떻게 생각합니까? 자물쇠 누출의 결과는 무엇입니까? 시스템에서 사용할 수있는 최대 잠금 수가 있습니까?

+1

구현 세부 정보를 묻는 경우 사용하는 운영 체제를 항상 문서화하십시오. –

답변

0

모든 것은 잠금 장치가 해제되어 네트워크 연결이나 파일 또는 그래픽 장치 컨텍스트를 닫을 때주의해야 할 것과 비슷하게 조심해야한다는 것을 의미합니다. 주의하지 않는 코드를 작성하면 프로그램이 교착 상태에 빠지거나 잠긴 항목에 액세스 할 수 없을 때 진행할 위험이 있습니다 (잠금 지점은 여러 스레드가 안전하게 무언가에 액세스 할 수 있는지 확인하기위한 것이기 때문에) 따라서 한 스레드가 잠긴 것을 남겨두면 액세스해야하는 다른 스레드가 종료됩니다.

실제 잠금이 부족하기 전에 프로그램의 성능에 심각한 문제가 발생할 수 있으므로 일반적으로 사용 가능한 잠금 수에 대해 걱정할 필요가 없습니다.

관련 문제