C# Using a mutex to prevent multiple application from running
C#을 다루다보면 간혹 응용 프로그램의 중복 실행을 방지해야하는 경우가 있습니다. 특히, 소켓 프로그램의 경우 중복 실행이 될 경우 포트 충돌 등으로 오류가 발생할 소지가 있어 프로그램 실행시 중복 실행을 방지하는 알고리즘은 필수라고 생각이 됩니다. 필자의 경우는 제작한 프로그램이 트래이 아이콘에 등록되다 보니 사용자들이 간혹 실수로 프로그램을 다시 실행하는 경우가 종종 있어서 Mutex를 사용하여 중복실행을 방지하고 있습니다. 프로세스를 찾아서 하는 방식도 있지만 여기서 Mutex를 이용하는 방법을 소개하고자 합니다. Mutex 개념 Mutex는 스레드 동기화의 한 방식으로 공유 리소스를 하나의 스레드가 단독으로 액세스할 수 있도록 합니다. 즉, 스레드가 뮤텍스를 가져오면 첫 번째 스레드가 뮤텍스를 해..