C#/C#정리2021. 9. 28. 20:14[C#] Thread 쓰레드 동기화

사용 이유 멀티 스레드는 실행 순서가 불규칙하다. 공유 리소스(shared resource)에 대한 스레드의 동기화(synchronization)처리가 되지않았다. Monitor : 모니터 Enter와 Exit 코드 사이에 위치한 모든 코드는 한 순간에 스레드 하나만 진입해서 실행할 수 있다. 또한 Enter와 Exit 메서드의 인자로 전달하는 값은 반드시 참조형 타입의 인스턴스여야 한다. private static object lockObj = new object(); Monitor.Enter(lockObj); try { ~~~ } finally { Monitor.Exit(lockObj); } * Wait(lockObj) / Pulse(lockObj) / PulseAll(lockObj) Lock : 스..

image