[게임서버] AutoResetEvent와 ManualResetEvent
·
공부/게임 서버
영화를 보다가 화장실에 가고 싶은데 다른 사람이 변기를 차지하고 안에서 잠금장치를 걸었다면 우리는 고민한다. 1. 사람이 나올 때까지 그 앞에서 계속 기다릴지 2. 잠시 자리로 돌아갔다가 나중에 다시 와서 다시 문을 두드릴지 3. 영화관 직원에게 부탁하여 화장실에 자리가 나면 나에게 알려달라고 할지 세 번째 상황이 바로 AutoResetEvent다. 커널 영역에 있는 관리자에게 잠금장치가 열렸을 때를 알려달라고 부탁하는 방법이다. 관리자가 잠금장치가 열렸음을 알려주면 스레드가 한 번 실행되고 하나의 스레드가 실행된 뒤에는 자동으로 문을 닫아 다른 스레드의 방해를 막아준다. C#으로 작성된 내용입니다. using System; namespace ServerStudy { class Lock { AutoRes..