atomicity

    1熱度

    2回答

    我的下面的方法線程安全嗎?這個方法在Singleton類中。 private static final Map<String, PreparedStatement> holder = new ConcurrentHashMap<>(); public BoundStatement getStatement(String cql) { Session session = Tes

    3熱度

    1回答

    我知道在2個單獨的線程中複製和重置單個shared_ptr是有問題的,但是如何嘗試創建相同shared_ptr對象的副本的2個線程呢?它需要同步嗎?參考計數器會在這裏正常工作嗎? std::shared_ptr<T> global_t(new T()); // Thread 1 std::shared_ptr<T> t1(global_t); do something with t1

    0熱度

    1回答

    我想讓我的應用程序的用戶僅增加一次value。以下代碼失敗,因爲貓鼬中的update是異步的。我的支票if(user.valueIncremented)因爲此時未更新valueIncremented,但會在下一個事件循環中更新,因此對此API的下一個連續請求失敗。那麼,我該怎麼做,先生? var Account = new Schema({ \t _id: Schema.Types.Obje

    1熱度

    1回答

    下面的代碼工作沒有競爭條件 AtomicInteger atomicInt = new AtomicInteger(0); ExecutorService executor = Executors.newFixedThreadPool(20); IntStream.range(0, 1000) .forEach(i -> executor.submit(atomicInt::in

    2熱度

    1回答

    有沒有一種簡單的方法來自動讀取一個值,然後使用StackExchange C#驅動程序從Redis中刪除它? 我在Redis中緩衝項目,當它們達到某個閾值時,我檢索它們,但我也想沖洗緩衝區。 我需要提及的是,我將項目存儲在一個列表中,並通過「清空緩衝區」我的意思是我想刪除列表。 「鑰匙」:[產品清單]

    0熱度

    1回答

    是否有任何方法使這個操作像一個operatinon(自定義原子類型)? if (!isShutdownStarted.get() && !QUEUE.contains(request.getUserEmail())) { try { QUEUE.add(request.getUserEmail()); } //... } 代碼在其他線程

    0熱度

    1回答

    我需要修改JVM上不同線程上的緩存項目,所以我需要確保所有項目都按順序和安全地修改。所以我認爲如果線程使用緩存鍵創建或獲取鎖定並在工作完成後釋放它,那就沒問題了。像這樣: if(this.igniteCache.lock(k).tryLock()){ try { if(this.igniteCache.containsKey(k)){ List

    0熱度

    1回答

    手柄櫃檯 使用事務數據庫,使這樣的事情很容易我一直堅持: 表City包含一個名爲populationCount /列這是每一個與city_id一個Person添加時間更新刪除。 如何使用這樣的非事務數據庫,如MongoDB?假設收集Person包含數百萬的文件:我應該總是查詢人口數量還是有一個簡單的方法來存儲populationCount在City?我見過transaction example o

    0熱度

    1回答

    我正在尋找一種可靠的方式來確保對於給定的Django模型實例,一個特定的字段只寫入一次。 代碼應該在使用芹菜甚至rq的視圖或任務中運行。 我想用下面的代碼片段: from django.db import transaction from django.utils.timezone import now ... def perform_writeonce(object_pk):

    0熱度

    1回答

    我想用比較和交流方案使用此函數來執行的循環中的雙原子加法: namespace my { template<typename value_type> value_type atomic_add(std::atomic<value_type>& operand, value_type value_to_add) { value_type old = ope