서버 프로그래밍/멀티 스레드
1-5. 락 (Lock), 뮤텍스(mutex), RAII 패턴, lock_guard
1. 락(Lock) 공유 데이터(전역 변수와 같은)에 대한 동시 접근을 조절하기 위한 방법. (1) 락 획득(Lock Acquisition) 락이 걸린 자원에 접근하고자 하는 스레드는 해당 락을 획득해야 한다. 다른 스레드가 락을 획득한 상태라면, 접근하고자 하는 스레드는 락이 해제될 때까지 대기한다. (2) 락 해제(Lock Release) 락을 획득한 스레드가 작업을 마칠 때 락을 해제한다. 다른 스레드가 해당 공유 자원에 접근할 수 있게 된다. 2. 뮤텍스 (mutex) 상호배타적(Mutual Exclusive) 원리를 이용한 락 기법. * 상호배타적 한 사건이 발생할 때 다른 사건이 발생하지 않도록 배제하는 것. (1) 코드 실험 - 동적 배열 mutex m; vector v; void Push(..
2023. 11. 24. 16:10