memory-model

    2

    2답변

    많은 연구 끝에 나는 JMM을 아주 잘 이해하고 있다고 믿는다. 객체가 두 개의 스레드간에 공유 될 때 같은 모니터에서 모든 액세스를 동기화해야한다는 것을 충분히 잘 알고있다. 여러 개의 활성 스레드가 동시에 개체에 액세스하면 모든 관찰은 관찰 할 대상을 벗어났습니다. 그러나 객체를 사용하는 다른 스레드가 시작되기 전에 결정적으로 실제로 생성 된 경우 (또

    41

    1답변

    Java 메모리 모델에서는 int을 쓰는 것이 필수적이라고 규정합니다. 즉, 한 스레드에서 값을 쓰고 다른 스레드에서 값을 읽으면 모든 바이트 또는 하나도 가져 오지는 않지만 결코 새로운 바이트 2 개와 오래된 바이트 2 개를 얻지는 않습니다. long에 대한 보장이 없습니다. 여기서 을 변수 0에 저장하기 전에 쓰면 다른 스레드가 0x11223344000

    5

    1답변

    현재 C++0x draft 섹션 29.3.9에 주와 29.3.10, 페이지 1111에서 1112 사이를 주문 메모리 그 다음 예제 : // Thread 1 r1 = y.load(memory_order_relaxed); x.store(1, memory_order_relaxed); // Thread 2 r2 = x.load(memory_order_re

    22

    2답변

    C++ 0x 표준의 일부인 메모리 모델에 대해 읽었습니다. 그러나 컴파일러에서 허용되는 제한 사항, 특히 투기 적로드 및 저장에 대한 제한 사항에 대해서는 다소 혼란 스럽습니다. 시작하려면 , 관련 재료의 일부 : Hans Boehm's pages about threads and the memory model in C++0x Boehm, "Threads C