2
잠금 인수에서 오브젝트의 목적은 무엇입니까?Lock 문 인수의 오브젝트 목적
public class TestThreading
{
private System.Object lockThis = new System.Object();
public void Process()
{
lock (lockThis)
{
// Access thread-sensitive resources.
}
}
}
는 ...이 'lockThis'개체가 잠금 몸에 아무것도 통과 않습니다 예를 들면 다음과 같습니다. 인수에 객체가없는 Lock 문을 사용할 수없는 이유는 무엇입니까?
어떤 스레드가 잠금을 소유하고 얼마나 자주 입력되었는지 추적하는 * 변수가 필요합니다. 잠금 상태입니다. System.Object는 이러한 모든 작업을 수행하는 데는 겉으로보기에는 부적합한 유형의 개체이지만 가능합니다. 많은 프로그래머는 .NET Framework가 이런 종류의 변수에 대한 명확한 유형을 가져야한다고 주장했습니다. public class LockState : object {}를 만들 수 있습니다. –
감사합니다. 대신 "Thread.CurrentThread.ManagedThreadId"를 lock 문에 전달하면 의미가 있습니다. – cembo
그것은 재앙이 될 것입니다. 이 공부를 더 잘하거나 스레딩이 당신을 먹을 것입니다. –