작성
·
67
·
수정됨
0
ReaderWriteLock 구현 연습 강의 잘 봤습니다.
강사님 환경에서는 10만번을 돌려도 락 구성이 잘 돌아가서 count가 0이 나옵니다.
제 환경에서는 Debug 모드, Release 모드 일 때
Debug: count 수가 꽤 자주 바뀝니다.
Release: count 수가 0이 나올 확률이 Debug보다 약간 높습니다.
또한 컴퓨터를 리부팅 하고 돌려보면 10번중에 2번은 count의 수가 바뀝니다.
질문
CPU나 메모리 환경, 켜져있는 프로그램에 따라서 Lock 구현이 실패하는 경우가 있을까요?
제 환경입니다.
AMD Ryzen 5 3600XT 6-Core Processor
메모리 32GB
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. _G님.
ReaderWriteLock 구현과 관련하여 질문 주셨습니다. 특정 환경에서 동작이 다른 이유에 대해 궁금해 하시는군요.
CPU 및 메모리 영향: 락의 동작은 시스템의 하드웨어, 특히 CPU와 메모리의 상태에 따라 영향을 받을 수 있습니다. 여러 쓰레드가 경합을 벌이는 상황에서 다양한 컨텍스트 스위칭과 캐시 상태가 결과에 영향을 줄 수 있습니다.
프로그램 및 시스템 환경: 실행 당시 시스템에 백그라운드로 실행 중인 프로그램들의 영향도 없지 않습니다. 각각의 프로그램이 CPU와 메모리를 얼마만큼 점유하고 있는지, 또는 시스템이 얼마나 바쁘게 동작하고 있는지에 따라 변동이 생길 수 있습니다.
비슷한 경험을 다룬 게시물을 아래에 소개해 드립니다:
이해한 것이 맞는지 - Debug와 Release의 차이점
질문 내용에 기반하여 CPU나 메모리 환경 등 외부 요인이 락 구현 실패에 영향을 줄 수 있다는 점을 파악할 수 있습니다. 다양한 환경에서의 테스트를 통해 안정적인 소프트웨어 개발이 가능할 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.