최근 스레드 잠금이 시스템 리소스이므로 "메모리와 마찬가지로"적절히 릴리스되어야한다고 읽었습니다. 나는이 사실을 정말로 알지 못한다는 것을 깨달았다.스레드가 리소스를 잠그는 이유는 무엇입니까?
다른 사람이이 사실에 대해 자세히 설명하거나 좋은 참고 자료를 가리킬 수 있습니까? 보다 구체적으로 : 더 깊은 시스템 레벨에서 잠금 구현에 대해 어떻게 생각합니까? 자물쇠 누출의 결과는 무엇입니까? 시스템에서 사용할 수있는 최대 잠금 수가 있습니까?
최근 스레드 잠금이 시스템 리소스이므로 "메모리와 마찬가지로"적절히 릴리스되어야한다고 읽었습니다. 나는이 사실을 정말로 알지 못한다는 것을 깨달았다.스레드가 리소스를 잠그는 이유는 무엇입니까?
다른 사람이이 사실에 대해 자세히 설명하거나 좋은 참고 자료를 가리킬 수 있습니까? 보다 구체적으로 : 더 깊은 시스템 레벨에서 잠금 구현에 대해 어떻게 생각합니까? 자물쇠 누출의 결과는 무엇입니까? 시스템에서 사용할 수있는 최대 잠금 수가 있습니까?
모든 것은 잠금 장치가 해제되어 네트워크 연결이나 파일 또는 그래픽 장치 컨텍스트를 닫을 때주의해야 할 것과 비슷하게 조심해야한다는 것을 의미합니다. 주의하지 않는 코드를 작성하면 프로그램이 교착 상태에 빠지거나 잠긴 항목에 액세스 할 수 없을 때 진행할 위험이 있습니다 (잠금 지점은 여러 스레드가 안전하게 무언가에 액세스 할 수 있는지 확인하기위한 것이기 때문에) 따라서 한 스레드가 잠긴 것을 남겨두면 액세스해야하는 다른 스레드가 종료됩니다.
실제 잠금이 부족하기 전에 프로그램의 성능에 심각한 문제가 발생할 수 있으므로 일반적으로 사용 가능한 잠금 수에 대해 걱정할 필요가 없습니다.
구현 세부 정보를 묻는 경우 사용하는 운영 체제를 항상 문서화하십시오. –