memory-barriers

    12

    2답변

    최근 메모리 장벽과 재정렬 문제에 관해 읽었습니다. 이제는 그것에 대해 혼란스러워합니다. 다음과 같은 시나리오를 생각해 Update 방법에서 private object _object1 = null; private object _object2 = null; private bool _usingObject1 = false; private object M

    7

    1답변

    나는 synchronizes-with relation을 이해하는 데 도움이 필요합니다. 내가 예를 이해하려고 노력하면서 그것을 읽으면할수록 나는 아무것도 이해하지 못한다고 느낀다. 가끔은 여기에있는 것처럼 느껴지지만 다른 예제를보고 나면 다시 혼란스러워집니다. 제발 도와 줘. A가 어떤 원자 변수 m에 대한 저장소이고, 릴리스 의미론이 있고, B가 동일한

    0

    1답변

    현재 메모리 장벽, 잠금 장치 및 메모리 모델에 대한 이해를 높이려고합니다. 내가 알기로 네 가지 유형의 이완 유형이 있습니다. 네임 쓰기 -> 읽기, 쓰기 -> 쓰기, 읽기 -> 쓰기 및 읽기 -> 읽기. x86 프로세서는 Write-> Read relaxation을 허용하며, 종종 TSO (Total Store Order)라고합니다. PSO (Parti

    8

    3답변

    메모리 장벽에 대한 이해를 높이려고합니다. 약한 메모리 모델이 있고 Dekker's algorithm을 적용한다고 가정합니다. 메모리 장벽을 추가하여 약한 메모리 모델에서 올바르게 작동하게 할 수 있습니까? 나는 대답이 놀랍다 고 생각합니다. 그 이유는 (내가 맞다면) 메모리 장벽을 사용하여 읽기가 다른 것을 지나치지 않도록 보장 할 수는 있지만, 읽기가

    49

    2답변

    일부 언어는 변수를 지원하는 메모리를 읽기 전에 "읽기 메모리 장벽"을 수행하는 것으로 설명 된 volatile 수정자를 제공합니다. 일반적으로 읽기 메모리 장벽은 장벽 뒤에 요청 된 읽기를 수행하기 전에 CPU가 장벽보다 먼저 읽기를 수행했는지 확인하는 방법으로 설명됩니다. 그러나이 정의를 사용하면 오래된 값을 읽을 수 있습니다. 다시 말해서, 특정 순서

    0

    1답변

    : var dispatcherQueue = new DispatcherQueue(); long totalSum = 0; Arbiter.Activate( dispatcherQueue, Arbiter.Interleave( new TeardownReceiverGroup(), new ExclusiveReceiverGroup

    20

    4답변

    리눅스 커널은 lock; addl $0,0(%%esp)을 쓰기 장벽으로 사용하고 RE2 라이브러리는 쓰기 장벽으로 xchgl (%0),%0을 사용합니다. 차이점은 무엇이며 어느 것이 더 낫습니까? x86에도 읽기 차단 명령이 필요합니까? RE2는 읽기 배리어 기능을 x86에서는 no-op로 정의하고 Linux에서는 SSE2를 사용할 수 있는지 여부에 따라

    4

    3답변

    내 코드는 아래와 같이 간단합니다. 읽기 및 쓰기에는 rmb 및 wmb이 있지만 일반적인 코드는 없습니다. lwsync은 PowerPC에서 사용할 수 있지만 x86 대신 무엇이 필요합니까? 미리 감사드립니다. #define barrier() __asm__ volatile ("lwsync") ... lock() if(!pInst);

    7

    3답변

    Java 6 API 질문. LockSupport.unpark(thread) 전화는 일까요?과의 관계가 바로 전에 unparked 스레드에서 LockSupport.park의 응답일까요? 나는 대답이 '예'라고 강력하게 의심하지만 Javadoc은 명시 적으로 언급하지 않는 것 같다.

    3

    1답변

    다음과 같은 코드에서 Proc1과 Proc2가 서로 다른 프로세서에서 동시에 실행되는 경우 ThingVal2가 5가 아닌 값 (예 : 0)을 가져올 수 있습니까? Class SimpleThing Public X As Integer Sub New(ByVal value As Integer) X = value End Su