atomic

    4

    1답변

    두 가지 기능으로 작동되는 클래스가 있습니다. 하나 개의 기능은 위젯의 목록을 작성하고 클래스로 씁니다 : 어떤 방법으로 위젯 def updateWidgets(self): widgets = self.generateWidgetList() self.widgets = widgets 다른 기능 거래 : def workOnWidgets(self

    0

    1답변

    this question의 설명에 이어지는 설명을 계속합니다. CAS 작업없이 Spinlock을 작성하는 방법은 무엇입니까? 다른 문제 상태로 : 메모리 순서화 모델은 쓰기 원자 것이라고 예이다 (두 개의 동시 스레드가 동시에 메모리 위치를 작성하는 경우, 그 결과는 하나 또는 다른 것). 플랫폼은 원자 비교 및 ​​설정 작업을 지원하지 않습니다.는

    1

    2답변

    CompareAndSwap (또는 CAS)이 거짓으로 결코 실패하지 않는다고 가정하면 CompareExchange를 CAS로 구현할 수 있습니까? CompareExchange는 포인터, 예상 값 및 새 값을 가져 와서 예상 값과 일치하는 포인터를 참조하는 메모리를 새 값으로 원자 적으로 설정합니다. 둘의 차이점은 CompareExchange가 메모리 영역의

    2

    1답변

    OSCompareAndSwap은 CMPXCHG8B와 같은 ABA 문제의 영향을받지 않습니까?

    17

    2답변

    제 이해이 정확한지 확인하고 싶습니다. 이런 종류의 일은 까다 롭습니다. 그래서 나는 뭔가를 놓치고 있다고 확신합니다. 나는 실시간 스레드와 비 실시간 스레드로 구성된 프로그램을 가지고있다. 나는 비 실시간 쓰레드가 RT 쓰레드가 사용하는 메모리에 대한 포인터를 바꿀 수 있기를 바란다. // global Data *rt_data; Data *swap_

    4

    4답변

    두 개의 스레드가 있고 하나는 signal 만 읽고 다른 하나는 signal 만 설정합니다. signal에 대한 뮤텍스를 만들어야하고 그 이유는 무엇입니까? UPDATE 난 상관 모든 두 개의 스레드가 동시에를 설정/읽기 경우 충돌이 있습니다 여부 당신은 아마 뮤텍스로 일 것이지만, 이것에 대한 원자 변수를 사용하는 것이 좋습니다

    1

    3답변

    가 가능과 같이 작성된 파일 (아이폰/아이팟 터치에)인가 앱이 강제 종료 될 때? fwrite가 원자 단위 연산이어야하므로, 하나의 명령어로 전체 파일을 작성할 때 손상이 발생하지 않아야합니다. 달리 말할 수있는 그물에 관한 어떤 정보도 찾을 수 없었습니다.

    12

    1답변

    의 _mm_mwait은 어떻게 작동합니까? (나는이 작업은 NUMA 시스템에서 촬영하는 방법이 아니라 그것을 위해 ASM하지만 행동과 을 의미한다. store 모니터링은 버스 스누핑과 버스 기반의 SMP 시스템에서 쉽게 구현할 수 있습니다.) 어떤 프로세서는 않습니다 그것을 구현? 일부 스핀 록에서 사용됩니까?

    41

    1답변

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

    30

    2답변

    는 : http://docs.python.org/faq/library.html#what-kinds-of-global-value-mutation-are-thread-safe 나는 다음과 같은 경우 알고 싶어 : (x, y) = (y, x) 이 CPython의에서 원자 보장됩니다. (x와 y는 모두 파이썬 변수입니다)