ReaderWriteLock2 01_14_멀티쓰레드_ReaderWriteLock구현 연습 Q1. WriteLock은 상호 배타적, ReadLock은 상호 배타적이 아니게 한 원리를 설명하세요. Q2. ReadLock은 해도 이상한 값이 나오는 이유를 설명하세요. Q3. 재귀적으로 Lock을 할 때 허용되는 경우와 허용되지 않는 경우는? 이유는? Q4. ReadLock에서 A,B가 동시에 진입할 때 flag가 잘 카운트 되도록 한 방법은? Lock free 프로그래밍이라는 기법이랑 유사한데 처음하면 헷갈리고 어렵긴 해. 어렵다면 한번 구경만 하고 넘어가도 된다. ServerCore에서 새 항목을 추가해서 Lock이라는 별도의 파일로 빼서 만들어 보자. namespace ServerCore { internal class Lock { // [Unused(1)] [WriteThreadId(15)] .. Server programming 2023. 3. 24. 01_13_멀티쓰레드_ReaderWriteLock Q1. 지난 시간에 알아본 기본 락 세가지 형태에 대해 설명해 보세요 Q2. 실용성있는 락 3가지를 말하고 설명해 보세요 이전시간 까지 락을 구현하는 세가지 방법에 대해 얘기 했었어. 잠시 복습 근성 양보 갑질 어떤게 더 좋다는 개념은 없어. 락을 사용할 때 하나만 골라서 쓰지 않고 대부분 라이브러리에서 여러가지 혼합해서 사용하는 경우가 많다. using System; using System.Threading; using System.Threading.Tasks; namespace ServerCore { internal class Program { // 1. 근성 // 2. 양보 // 3. 갑질 // 내부적으로 Monitor를 이용 // 버전1 static object _lock = new object(.. Server programming 2023. 3. 21. 이전 1 다음