개발 잠금 문이란 무엇입니까? -techopedia에서 정의

잠금 문이란 무엇입니까? -techopedia에서 정의

차례:

Anonim

정의-잠금 문의 의미는 무엇입니까?

C #의 lock 문은 "lock"키워드를 포함하는 명령문이며 현재 스레드가 다른 스레드에 의해 중단되지 않고 완료 될 때까지 코드 블록을 실행하도록 다중 스레드 응용 프로그램에서 사용됩니다. lock 문은 주어진 객체에 대한 상호 배제 잠금을 획득하여 한 스레드가 한 번에 코드 블록을 실행하고 잠금을 해제 한 후 코드 블록을 종료합니다.

lock 문은 다중 스레드 응용 프로그램에서 공유 데이터에 대한 동기화 된 액세스를 보장하는 데 사용되는 독점 잠금 구성입니다. 스레드간에 간섭을 일으키지 않고 여러 스레드가 공유하는 가변 자원의 무결성을 보호하는 데 도움이됩니다. 단일 클라이언트가 lock 문을 사용하여 여러 클라이언트가 공통 데이터에 동시 액세스하는 것을 방지 할 수 있습니다.

lock 문은 .NET Framework 클래스 라이브러리에서 사용 가능한 기본 동기화 기본 형식입니다. 멀티 스레드 프로그램의 동기화 요구를 처리 할 수있는 일관되고 예외적 인 안전 코드를 자동으로 생성합니다. 또한 효율적인 코드를 생성하여 수동으로 작성된 코드로 인해 발생할 수있는 오류를 방지하여 동기화를 쉽게 제어 할 수있는 방법을 제공합니다.

Techopedia는 잠금 문을 설명합니다

잠금 문에는 값 유형이 아닌 참조 유형의 인수가 제공되어야합니다. 일반적으로 프라이빗 인스턴스 멤버 또는 프라이빗 정적 멤버를 잠 가서 객체의 모든 인스턴스간에 공유되는 데이터를 보호하는 것이 좋습니다. 코드를 제어 할 수없는 공용 형식이나 인스턴스를 잠그면 여러 스레드가 잠금 문에 사용되는 단일 개체의 릴리스를 기다리는 교착 상태 상황이 발생할 수 있으므로 피해야합니다.


잠금 문의 사용법에 대한 예는 잔액을 인출하는 방법이있는 계정 개체가 잠금 문을 사용하여 여러 스레드가 동일한 방법을 동시에 실행하지 못하게하여 잔액을 음수로 푸시 할 수있는 다중 스레드 응용 프로그램 일 수 있습니다. .


잠금 명령문의 본문은 잠금을 기다리는 다른 스레드에 필요한 시간을 줄이려면 교착 상태의 가능성을 줄이고 예외가 발생할 가능성을 최소화해야합니다.


잠금 명령문 사용의 제한 사항은 현재 애플리케이션과 관련된 데이터에만 사용할 수 있다는 것입니다. 잠금 문도 시간 종료를 지원할 수 없습니다.

이 정의는 C #의 맥락에서 작성되었습니다.
잠금 문이란 무엇입니까? -techopedia에서 정의