Lock이 무엇인가요?? 말 그대로, 걸어 잠구는 행위입니다. 내가 자원을 사용하고 있는 동안에 문을 걸어 잠궈서 나 말고는 아무도 못들어오게 하는 방식입니다. 이를 통해 동시접근 문제가 발생하지 않습니다. Lock 함수의 구현 struct lock { int held = 0; }; void lock(struct lock *l) { while (l -> held); l -> held = 1; } void unlock(struct lock &l) { l -> held = 0; } 설명) 누군가 자원을 잡고 있으면 처음엔 held가 0이기 때문에 바로 빠져나오고 held가 1이 됩니다. 그리고 누군가 들어오면 held가 1이라서 무한 루프를 빙빙 돌다가 unlock이 다른 프로세스나 스레드에 의해 실행되면 ..