Monitor 클래스

    [C#] 스레드 사용법(2)

    [C#] 스레드 사용법(2)

    스레드 간의 동기화 프로그램을 구성하는 각 스레드는 여러 가지 자원을 공유하는 경우가 많습니다. 하지만, 스레드는 이기적이라 다른 상황은 신경쓰지 않습니다. 다른 스레드가 어떤 자원을 잡고 사용 중인데 갑자기 끼어들어 자기가 제멋대로 사용해버리는 경우가 대부분입니다. 그렇기 때문에 이런 스레드들을 순서에 맞게 자원을 사용하게 하는 것을 "동기화(Synchronization)"이라고 합니다. 스레드 동기화에서 가장 중요한 사명은 "자원을 한번에 하나의 스레드가 사용하도록 보장"하는 것입니다. .NET 프레임워크가 제공하는 대표적인 도구는 2가지로 lock 키워드와 Monitor 클래스가 있습니다. lock 키워드가 사용하기 쉽지만, Monitor 클래스가 더 섬세한 동기화 제어 기능을 제공합니다. 이제 사..