모니터와 잠금 장치 모두 개체 액세스를 동기화하는 메커니즘을 제공합니다. lock은 Monitor.Enter의 단축키입니다. 그리고 마지막으로 시도해 보세요.
잠금은 기본 사용법에 대한 단축키이자 옵션입니다. 더 많은 제어가 필요한 경우 고급 멀티스레딩 솔루션을 위해 TryEnter(), Wait(), Pulse() 및 &를 사용하세요. PulseAll() 메서드를 사용하는 경우 Montior 클래스를 선택하세요.
잠금 예시 -
class Program{ static object _lock = new object(); static int Total; public static void Main(){ AddOneHundredLock(); Console.ReadLine(); } public static void AddOneHundredLock(){ for (int i = 1; i <= 100; i++){ lock (_lock){ Total++; } } }
모니터 예시−
class Program{ static object _lock = new object(); static int Total; public static void Main(){ AddOneHundredMonitor(); Console.ReadLine(); } public static void AddOneHundredMonitor(){ for (int i = 1; i <= 100; i++){ Monitor.Enter(_lock); try{ Total++; } finally{ Monitor.Exit(_lock); } } } }
위 내용은 C#에서 모니터와 잠금의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!