atomicity

    4熱度

    1回答

    CAS如何工作?它如何與垃圾收集器一起工作?問題在哪裏?它如何在沒有垃圾收集器的情況下工作? 我正在閱讀有關CAS的演示文稿,並在「很少寫入,讀取很多」問題上使用它,並且有人說,雖然您可以使用垃圾回收器,但使用CAS很方便,但存在問題(未指定),而你不能使用垃圾收集器。 你能告訴我關於這方面的一些情況嗎?如果你能首先總結CAS的原理,那將是值得讚賞的。

    0熱度

    3回答

    我有一個RabbitMQ消息結構,其中消息A應該生成一些消息,我們稱它們爲B和C。消息A由工作進程接收,工作進程然後處理它並生成消息B和C。 假想的工作流程過程如下: 接收消息A與ack=False 啓動事務 運行一些代碼 生成消息B 生成消息C 發送ack的消息A 完成交易 在消息A的處理過程中工作進程死亡,或同時尚未完成交易的任何情況下 - 我想的RabbitMQ對待消息A爲未送達並重新排隊。

    0熱度

    1回答

    我們知道原子動作不能交錯,因此可以使用它們而不用擔心線程干擾。例如,在32位操作系統中,「x = 3」被認爲是「一般」的原子操作,但內存訪問通常需要多於一個時鐘週期,比如說3個週期。所以情況就是這樣; 假設我們有多個並行數據&地址總線和線程A試圖設置「x = 3」,在第二個循環中沒有機會讓另一個線程(比如線程B)訪問同一個內存位置(而寫入操作中間的線程A)。原子性如何保存? 希望我能夠清楚。 感謝

    3熱度

    2回答

    是Interlocked.Read(ref long)在64位體系結構上「優化」了嗎?即如果我正在編寫一個可供兩種體系結構使用的庫,我應該關注在64位CPU上不必要地使用Interlocked.Read會對性能產生的影響嗎? 我想過用這樣的事情,所以我想知道,如果這是有道理的: // X64 is a preprocessor constant set for x64 builds [

    1熱度

    1回答

    我有一個簡單的庫應用程序。爲了迫使3個行動,承諾作爲一個動作,並回滾如果任何行動的失敗,我做了如下代碼修改: 在settings.py: AUTOCOMMIT=False 在forms.py from django.db import IntegrityError, transaction class CreateLoan(forms.Form): #Fields...

    2熱度

    2回答

    根據MSDN,Stopwatch類實例方法對於多線程訪問不安全。這也可以通過檢查個別方法加以確認。 然而,因爲我只需要簡單的「時間流逝」在我的代碼的幾個地方定時器,我想知道,如果它仍然可以使用像做無鎖,: public class ElapsedTimer : IElapsedTimer { /// Shared (static) stopwatch instance. st

    0熱度

    1回答

    我正在使用Bluepay處理Xamarin移動應用程序的付款。處理付款或退款時,Bluepay會提出請求,Bluepay會迴應成功或失敗。在此之後,應用程序將交易信息發送到我們的數據庫進行存儲。 如您所見,問題在於如果應用程序在收到響應之前或在數據庫調用之前崩潰,則第三方支付處理器和我們的數據庫可能很容易失去同步。 如果因爲某種原因數據庫調用失敗,可能會檢測到這種情況,並且可能會重新發送事務信息,

    1熱度

    2回答

    我正在閱讀Linux信號量的實現。由於原子性,信號和等待(在源代碼中上下)使用自旋鎖。然後,我在spin_lock_irqsave中看到了Linux禁用的中斷,並在spin_unlock中看到了重新啓用的中斷。這使我困惑。在我看來,在關鍵部分中確實沒有禁止中斷的意思。 例如,proc A(當前活動)獲取了鎖,proc B(blocked)正在等待鎖並且proc C正在做一些不相關的東西。在A和B之

    2熱度

    1回答

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

    1熱度

    2回答

    可否請你給我一個提示是有什麼辦法原子更新使用Java SDK的Couchbase多個文檔?我知道,可以使用文檔嵌入,從而保證需要,但不幸的是,它不適合我。 在我而言,文檔更新的事實導致了一個事實,它的無效(設置特殊標誌設置爲false)其他需要的文件,並應原子方式執行。 我很欣賞你方的任何幫助或建議。 謝謝!