atomicity

    5熱度

    3回答

    大多數語言提供原子int操作(添加,比較&交換等)功能。 爲什麼不浮點類型?

    0熱度

    3回答

    這個操作是原子的還是有數據競爭的機會? atomicInteger.set(-atomicInteger.get()); 如果有數據競爭,如何否定AtomicInteger原子?

    4熱度

    5回答

    我有一個C#類與靜態成員,這是從多個線程讀取並寫入一個線程。 據我所知,Uint64讀寫不是所有系統上的原子操作,所以我必須手動保證線程安全。 我對如何做到這一點有一些想法。 做它和原子包裝類,就像在c + +中的std :: atomic。在C#中有類似的東西嗎? 在靜態字段中使用volatile修飾符。然而這是不允許的。爲什麼? 我終於做到以下幾點: private static object

    0熱度

    1回答

    我有一個鏈接縮短服務,那裏有大量的數據庫密鑰,這些密鑰在一段時間後過期,然後變得可以重新分配。 我最近開始得到了很多的衝突,從而提出了一些賠償,以創建表上的鎖,不幸的是我剛做了其中兩個,導致被同時創建(以1'000th秒)的衝突 想知道如果有人對我如何解決這個問題有任何想法,我無法想象它會在幾個星期內發生,但隨着業務的增長,這將激怒這個問題。 該列並不是唯一的,因爲我們記錄了系統中創建的每個URL

    2熱度

    3回答

    我需要的東西是簡單的隊列,在這裏我可以放置任務,並從工作人員一個接一個地檢索它們(不需要維護任務順序)。 我寫了這樣的事情: ;; Definition (def q (ref [])) ;; Put (defn put-in-queue [i] (dosync (alter q conj i))) ;; Get (defn get-from-queue [] (

    5熱度

    1回答

    AFAIK C++原子公司(<atomic>)家族提供3個好處: 基本指令不可分割(無髒讀), 存儲器排序(既,對於CPU和編譯器)和 跨線程可見性/變化傳播。 我不確定第三個項目符號,因此請看下面的示例。 #include <atomic> std::atomic_bool a_flag = ATOMIC_VAR_INIT(false); struct Data { int x;

    5熱度

    4回答

    在每個基於InnoDB且啓用Autocommit的表的Mysql數據庫中,使用子查詢和/或連接的查詢是否是原子? 實例: INSERT INTO users SELECT (x,y,z) FROM users, comments WHERE users.id = comments.user_id;(聯接) UPDATE users, comments SET users.x = x1 WHERE

    19熱度

    6回答

    是否有Redis數據結構,它允許彈出(get + remove)它包含的多個元素的原子操作? 有衆所周知的SPOP或RPOP,但他們總是返回一個單一的值。因此,當我需要set/list中的第一個N值時,我需要調用N次的命令,這很昂貴。比方說,集合/列表包含數百萬個項目。有沒有什麼像SPOPM "setName" 1000,它會返回並從集合中移除1000個隨機項或RPOPM "listName" 1

    0熱度

    1回答

    我做兩個連續的寫入MongoDB的(沒有碎片,沒有副本):在1插入 插入數據到數據庫 查找和修改數據 當執行步驟2)時,是否被授予,該命令是否會從步驟1)中看到數據插入?什麼是最小的WriteConcern我應該使用在步驟1)來確保這一點? 至於我的用例,我知道,我可以將1和2合併成一個簡單的步驟;但是,我的真實用例要複雜得多,不能輕易解決。

    6熱度

    2回答

    我正在寫一個Python 2.7腳本。 總之,此腳本每天晚上在Linux上運行並激活多個進程。 我想確保此腳本不是並行運行多次(基本上試圖模仿Singleton模式,但在應用程序級別)。 代碼示例 def main(): # before doing anything, I'd like to know whether this # script was activated a