interlocked

    2

    1답변

    스레드 풀을 사용하여 동시 작업을 실행하는 다중 스레드 라이브러리를 구현하려고합니다. 기본적으로 수신 한 컬렉션 매개 변수에서 스레드 풀에 작업을 추가 한 다음 처리중인 마지막 작업이 펄스 신호를 보낼 때까지 대기합니다. 이전 테스트에서 성공 했었지만 프로세스가 매우 부족한 작업으로 테스트하고 싶을 때 이상한 문제가 발생했습니다. 여하튼 펄스 신호는 대기

    5

    1답변

    방금 ​​연동 클래스를 배웠고 단순히 잠금보다 빠르다고합니다. 자,이 모든 것이 훌륭하고 훌륭합니다. 그러나 구현에 관해서는 궁금합니다. 아는 한, 변수에 대한 연산이 원자 적으로 수행되도록하는 유일한 방법은 항상 한 스레드 만 해당 변수에 액세스 할 수 있도록하는 것입니다. 어떤 잠금입니다. 나는 연동의 소스를 얻기 위해 반사판을 사용했지만, 모든 작업을

    0

    1답변

    그래서 Diffe 헬만은 MITM 공격 대상이다 양측 교환 : X = g^X 개조 N이고 Y = g^Y 개조 N. 이제 우리는 메시지를 두 조각으로 나누고 비트 단위로 교환하는 Rivest Shamir 인터록 프로토콜을 사용하여 보호 할 수 있습니다. 내가 알고 싶은 건 Rivest Shamir에서 g^x mod n을 두 조각으로 나누는 방법입니다.

    1

    2답변

    가능한 중복 : Interlocked.CompareExchange<Int> using GreaterThan or LessThan instead of equality 내가 Interlocked.CompareExchange이 값과 간 비교가 동일한 경우에만 값을 교환하는 것을 알고, 그들이 동일하지 않은 경우 그들을 교환하는 방법 이런 식으로 뭔가를 얻을 수

    1

    1답변

    코드는 다음과 같습니다 : 나는 Interlocked.Increment, 오른쪽 스레드 안전 문제를 처리 할 생각 private static int _exceptionCount; JobManager.TrackExceptionCount(ref _exceptionCount); : public class JobManager { public st

    1

    3답변

    변수에 대한 액세스를 동기화하려는 Windows 7 드라이버가 있습니다. InterlockedExchange를 사용할 수 있습니까? InterlockedExchange에 대한 현재의 이해는 InterlockedExchange가 컴파일러 내장 함수를 통해 수행된다는 것입니다. 즉, 읽기 (InterlockedExchange는 이전 값을 반환 함)를 의미하며

    1

    1답변

    파이널 라이저에서 관리되는 리소스를 정리해야하거나 클린업이 필요한 스레드 안전한 방식으로 어딘가에 기록해야한다고 가정합니다. 내가 이해하는 바에 따르면, 파이널 라이저에서 자물쇠를 가져가는 것은 엄격히 말하지만 연동 클래스는 어떨까요? 이것은 안전하며 교착 상태가 발생하지 않습니까? static int deadentries; ~Item() { Interl

    3

    2답변

    정적 필드를 사용해야하고 스레드 안전성과 원자 적 연산을 정적 필드에 제공해야 할 경우 정적 필드를 함께 사용해야합니까? 정적 필드는 기본적으로 원자입니까? 예 : Interlocked.Increment(ref Factory.DefectivePartsCount); 감사합니다.

    3

    3답변

    나는에 대한 답변을 찾을 수 없었습니다 몇 가지 간단한 (희망) 질문이 - 내가이 말은 여러 스레드가 액세스 할 수있는 A, B 객체. Interlocked.Exchange(ref a, b) 'b'가 휘발성이 아닌 경우이 조작으로이 작업을 처리합니까? 즉, 메모리에서이 변수의 최신 값을 가져 옵니까? 그렇다면 쓰기가 '원자 적'이라고 읽습니까? Inte

    2

    1답변

    대 InterlockedExchange와 InterlockedExchangePointer의 차이점은 무엇입니까? 는 if(0 != InterlockedCompareExchange((void**) &_myVariable , temp , 0 )) 및 if(0 != InterlockedCo