memory-model

    1熱度

    2回答

    學習golang,我當試圖理解下面的內存模型規範描述的信道通信的有點糊塗了:通道上 一個發送發生之前對應的從通道接收完成。 通道的關閉發生在因爲通道關閉而返回零值的接收之前。 來自無緩衝通道的接收發生在該通道上的發送完成之前。 在容量爲C的信道上的第k個接收發生在從該信道發送的第k + C個C發送完成之前。 的第一條規則是明確的,容易理解,而我真正關心的第三個規則,這似乎對別人弄糊塗了......

    0熱度

    5回答

    我有線程A維護數據結構(添加,刪除,更改ConcurrentHashMap中的值)。 我有螺紋乙監聽套接字上偶爾創建線程Ç處理新的客戶端連接。 所有線程Ç旨意永遠只能從的ConcurrentHashMap讀取線程維護的(從不更新)。 是線程Ç保證看到由線程一個進行的所有更新,在的ConcurrentHashMap,螺紋Ç成立之前/被線程乙開始了嗎? (編輯最後一句,使問題更加清晰:只關心更新到的C

    0熱度

    1回答

    我在學習有關低級併發的基礎知識。 從Linux文檔: A write memory barrier gives a guarantee that all the STORE operations specified before the barrier will appear to happen before all the STORE operations specified after t

    2熱度

    1回答

    讓我們考慮這句話(Total Store Ordering): 讀取之前是有序的讀取,寫入以前寫的,讀以前寫的,但不能寫入之前讀取。 我覺得我幾乎得到了基礎: 每個線程都有自己的程序順序(代碼被寫入時) 在一般情況下,CPU可以指令重新排序,我們必須將其約束到排除不正確的排序 CPU也可以重新排序內存加載和存儲,我們必須限制這些以及 當前的硬件實現了「序列化指令」像mfence這是INVO所有線程

    0熱度

    1回答

    我需要爲我的EditText實施一次性OnFocusChangeListener。也就是說,一旦EditText獲得焦點,它就會執行某些操作並停止收聽焦點更改事件。 我給我的EditText分配一個ananymous OnFocusChangeListener。然後在void onFocusChange(View v, boolean hasFocus)我打電話v.setOnFocusChange

    2熱度

    1回答

    我一直在問的f和g這兩個函數之間的區別: atomic<int> var(1); int a = 1; void f() { a=123; var.store(0, std::memory_order_release); } void g() { a=123; std::atomic_thread_fence(std::memory_order_release); var.s

    1熱度

    1回答

    您是否應該將商店門檻放入構造函數中? 下面是一個例子。首先假設global_f = f = r = 0。 一個線程A創建一個對象,分配給一個字段,並將其分配給一個全局變量: class Foo { int x; void Foo(int x) { this.x = x; } } f = new Foo(42); global_f = f; 另一

    2熱度

    1回答

    OpenCL和CUDA已經包含了幾年的原子操作(儘管顯然不是每個CUDA或OpenCL設備都支持這些操作)。但是 - 我的問題是關於由於非原子寫入而「與」種族共處的可能性。 假設網格中的多個線程全部寫入全局內存中的相同位置。我們保證,當內核執行結束時,其中一個寫入的結果將出現在該位置,而不是某些垃圾? 內存空間: 對於這個問題(任意選擇組合(一個或多個),編輯除了nVIDIA的CUDA +已其中有

    1熱度

    1回答

    如果CPU內核使用寫入緩衝區,則負載可以將最近的存儲從寫入緩衝區旁路到引用的位置,而不必等到它出現在緩存中。但是,因爲它是寫在A Primer on Memory Consistency and Coherence,如果CPU榮譽TSO內存模型,然後 ...多線程引入了TSO一個微妙的寫緩存的問題。 TSO 寫入緩衝區對於每個線程環境(虛擬 核心)在邏輯上是私有的。因此,在多線程內核中,一個線程上

    0熱度

    1回答

    我對「一致性」一詞感到困惑。它已被用於許多不同的環境中,即分佈式系統,內存模型和數據庫。 People/Wikipedia在同一頁面中總結了所有不同的一致性模型。但我並不認爲他們習慣於描述同樣的問題。例如,序列/放鬆/弱/嚴格/處理器一致性等在內存模型中是有意義的(由現代架構&現代語言編譯器提供)。另一方面,順序/最終一致性在分佈式系統中有意義(當您嘗試構建複製狀態機時)。像共識算法一樣的Paxo