방법: 다중 스레드 실행 조정
다중 스레드 구성 요소를 스레드로부터 안전하게 보호하려면 공유 리소스에 대한 액세스를 조정해야 합니다.동시에 여러 스레드가 공유 리소스에 액세스하려고 하면 경합 상태가 발생하여 데이터가 손상될 수 있습니다.잠금을 사용하면 경합 상태의 발생을 막을 수 있습니다.스레드로부터의 안전성과 경합 상태에 대한 자세한 내용은 스레드로부터 안전한 구성 요소를 참조하십시오.
개체에 잠금을 만들려면
원자적으로 실행할 코드 및 코드 실행 대상이 되는 개체를 식별합니다.자세한 내용은 스레드로부터 안전한 구성 요소를 참조하십시오.
이 개체에 잠금을 설정하고 코드를 그 잠금 안에 넣습니다.
이제 이 코드는 잠금이 설정된 개체에서 원자적으로 실행됩니다.
SyncLock MyObject ' This represents the start of the lock on MyObject. ' Insert code to be executed atomically on MyObject here. End SyncLock ' This represents the end of the lock.
lock (MyObject) // All code inside the braces {} is executed with MyObject locked. { // Insert code to be executed atomically on MyObject here. }
참고 항목
작업
연습: Visual Basic으로 간단한 다중 스레드 구성 요소 만들기
연습: Visual C#으로 간단한 다중 스레드 구성 요소 만들기