Lock2 01_07_멀티쓰레드_Lock 기초 Q1. Interlocked계열의 단점을 2개 말해 보세요. Q2. Monter.Enter(_obj), Monter.Exit(_obj)를 화장실에 비유해 설명해보세요. Q3. Monter.Enter(_obj), Monter.Exit(_obj)를 사용했을 때 문제점을 말해 보세요. 화장실에 비유해 설명해 보세요. Q4. 해결방법을 2가지 말해 보세요. Interlock 계열이 성능 빠르고 우수하긴 한데 치명적인 단점이 있다. int afterValue = Interlocked.Increment(ref number); 이런 식으로 정수만 사용할 수 있다는 단점이 있다. 나중에 멀티 스레드 코드를 짤 때는 static void Thread_1() { for (int i = 0; i < 1000000; i++).. Server programming 2023. 3. 13. 02_08_멀티쓰레드 프로그래밍_Sleep Q1. context switching는 어떨 때 발생하나오? Q2. 스케줄링에 대해 설명해 보세요. Q3. 스레드 상에서 준비, 실행, 대기 되는 프로세스를 유저스페이스와 커널 스페이스와 연관해서 설명해 보세요. Q4. 일단 자리로 돌아가는 코드를 3가지 버전으로 작성해 보세요. 대기를 하는 두번째 방법인 렌덤 메타에 대해 알아볼거야. 지난 시간에 거의 대부분의 기능을 구현해서 오늘은 단순해. 그냥 sleep 계열의 함수하나만 호출하면 끝이야. sleep 한다는 거 자체가 운영체제의 스케쥴링 관리와 밀접한 관련이 있기 때문에 이거에 관해서 몇가지 언급을 해야 할 거 같아. 두번째 상황 같은 경우는 화장실에 누가 있을 때 서서 무한으로 대기하는게 아니라 일단 자리로 돌아온 다음에 일정시간을 기다렸다 다시.. Server programming 2022. 8. 5. 이전 1 다음