«locking» 태그된 질문

잠금을 사용하면 한 번에 하나의 프로세스에서 다른 유형의 리소스를 독점적으로 사용할 수 있습니다.

9
휘발성 vs. 연동 vs. 잠금
클래스 public int counter에 여러 스레드가 액세스 하는 필드 가 있다고 가정 해 봅시다 . 이것은 int증가 또는 감소 만됩니다. 이 필드를 늘리려면 어떤 접근 방식을 사용해야하며 그 이유는 무엇입니까? lock(this.locker) this.counter++;, Interlocked.Increment(ref this.counter);, 의 액세스 한정자 변경 counter에를 public volatile. 내가 발견 한 지금 volatile, 나는 많은 lock진술과의 사용을 …

10
낙관적 잠금과 비관적 잠금
낙관적 잠금과 비관적 잠금의 차이점을 이해합니다. 이제 내가 일반적으로 하나를 사용할 때 누군가가 나에게 설명 할 수 있습니까? 그리고이 질문에 대한 답변은 저장 프로 시저를 사용하여 쿼리를 수행하는지 여부에 따라 변경됩니까? 그러나 확인하기 만하면 낙관적 의미는 "읽는 동안 테이블을 잠그지 마십시오"를 의미하고 비관적 의미는 "읽는 동안 테이블을 잠그십시오"를 의미합니다.

8
잠금은 정확히 어떻게 작동합니까?
스레드로부터 안전하지 않은 객체를 사용하려면 다음과 같이 잠금으로 코드를 래핑합니다. private static readonly Object obj = new Object(); lock (obj) { // thread unsafe code } 따라서 여러 스레드가 동일한 코드에 액세스하면 어떻게됩니까 (ASP.NET 웹 응용 프로그램에서 실행되고 있다고 가정합니다). 그들은 대기열에 있습니까? 그렇다면 얼마나 오래 기다 립니까? 잠금 사용으로 …

16
lock (this) {…}이 나쁜 이유는 무엇입니까?
MSDN 설명서를 말한다 public class SomeObject { public void SomeOperation() { lock(this) { //Access instance variables } } } "인스턴스에 공개적으로 액세스 할 수있는 경우 문제"입니다. 왜 궁금해? 잠금이 필요 이상으로 오래 걸리기 때문입니까? 아니면 더 교활한 이유가 있습니까?



7
Java에서 가짜 웨이크 업이 실제로 발생합니까?
다양한 잠금 관련 질문을보고 (거의) 항상 '스퓨리어스 웨이크 때문에 루프를 찾는다'라는 용어가 궁금합니다 .1 누군가가 그런 종류의 웨이크 업을 경험 한 적이 있습니까 (예 : 괜찮은 하드웨어 / 소프트웨어 환경 가정)? 나는 '스퓨리어스 (spurious)'라는 용어가 명백한 이유를 의미하지는 않지만 그러한 종류의 사건에 대한 이유는 무엇입니까? ( 1 참고 : 반복 …

5
SELECT 문에서 NOLOCK 힌트의 영향
실제 질문은 다음과 같습니다. 더티 읽기에 신경 쓰지 않으면 with (NOLOCK) 힌트를 SELECT 문에 추가하면 성능에 영향을 미칩니다. 현재 SELECT 문 주어진 테이블에 대한 다른 거래 예: Select * from aTable with (NOLOCK)
199 sql  sql-server  locking 

11
객체 또는 메소드의 Java 동기화 메소드 잠금?
같은 클래스에 2 개의 동기화 된 메소드가 있지만 각각 다른 변수에 액세스하는 경우 2 개의 스레드가 2 개의 메소드에 동시에 액세스 할 수 있습니까? 잠금이 객체에서 발생합니까? 아니면 동기화 된 메소드 내의 변수만큼 구체적입니까? 예: class X { private int a; private int b; public synchronized void addA(){ a++; } …

7
재귀 잠금 (Mutex) vs 비 재귀 잠금 (Mutex)
POSIX를 사용하면 뮤텍스를 재귀 적으로 사용할 수 있습니다. 즉, 동일한 스레드가 동일한 뮤텍스를 두 번 잠글 수 있으며 교착 상태가 발생하지 않습니다. 물론 두 번 잠금을 해제해야합니다. 그렇지 않으면 다른 스레드가 뮤텍스를 얻을 수 없습니다. pthread를 지원하는 모든 시스템이 재귀 뮤텍스도 지원하지는 않지만 POSIX를 준수 하려면을 준수해야합니다 . 다른 API …


17
교착 상태 란 무엇입니까?
멀티 스레드 응용 프로그램을 작성할 때 가장 일반적인 문제 중 하나는 교착 상태입니다. 커뮤니티에 대한 나의 질문은 다음과 같습니다. 교착 상태 란 무엇입니까? 당신은 그들을 어떻게 감지합니까? 당신은 그들을 처리합니까? 그리고 마지막으로, 당신은 그것들이 발생하는 것을 어떻게 방지합니까?

5
.NET Framework에서 동시 HashSet <T>?
다음 수업이 있습니다. class Test{ public HashSet&lt;string&gt; Data = new HashSet&lt;string&gt;(); } 다른 스레드에서 "데이터"필드를 변경해야하므로 현재 스레드 안전 구현에 대한 의견이 필요합니다. class Test{ public HashSet&lt;string&gt; Data = new HashSet&lt;string&gt;(); public void Add(string Val){ lock(Data) Data.Add(Val); } public void Remove(string Val){ lock(Data) Data.Remove(Val); } } 현장으로 직접 이동하여 여러 …

5
잠금 해제 된 뮤텍스를 잠그는 것이 얼마나 효율적입니까? 뮤텍스의 비용은 얼마입니까?
저수준 언어 (C, C ++ 또는 기타)에서 : pthread가 제공하는 것 또는 네이티브 시스템 라이브러리가 제공하는 것과 같은 여러 뮤텍스를 갖는지 또는 객체에 대한 단일 언어를 선택할 수 있습니다. 뮤텍스를 잠그는 것이 얼마나 효율적입니까? 즉, 어셈블러 명령어가 몇 개나 있고 시간이 얼마나 걸립니까 (뮤텍스가 잠금 해제 된 경우)? 뮤텍스 비용은 …


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.