atomicity

    0熱度

    1回答

    隨着Kafka 0.11.0.0的最後一個版本,Apache團隊正在引入冪等生產者和交易。 是否有可能保證我們想要記錄的整組消息(例如100萬)只會在最後被提交? 我想說的是,如果生產者與經紀商之間的聯繫鬆動並且無法使其穩定下來,消費者就不會看到消息。可能嗎?

    4熱度

    2回答

    我發現下面的代碼,該出把永遠是: std::atomic<A> is lock free? false std::atomic<B> is lock free? true 這是代碼: struct A { int a[100]; }; struct B { int x, y; }; int main() { std::cout << std::boolalpha

    2熱度

    2回答

    我想在我的mongodb數據庫中保持原子性,如果我在文檔中更新數組,並且成功,那麼其他文檔將更新,否則,如果任何文檔失敗,則不應更新文檔。 我無法理解如何在我的nodejs應用程序中使用mongoClient實現此功能。 secureRoutes.post("/sendrequest", function (req, res) { MongoClient.connect(url,

    1熱度

    4回答

    volatile關鍵字我有下面的代碼: public class Foo { private volatile Map<String, String> map; public Foo() { refresh(); } public void refresh() { map = getData(); } publi

    0熱度

    1回答

    我這個星期一直在探索在Python內部執行的線程。我很驚訝我每天都不知道自己有多少驚訝,不知道我想知道什麼,這就是讓我癢。 我發現了一些在一塊的代碼,我的Python 2.7下運行的應用程序mutlithreaded奇怪。我們都知道Python 2.7默認在100條虛擬指令之後在線程之間切換。調用一個函數是一個虛擬指令,例如: >>> from __future__ import print_fu

    4熱度

    2回答

    考慮我有兩個原子布爾值如下。 private: std::atomic_bool x; std::atomic_bool y; 可以說下面的操作是原子的嗎?還是必須使用lock_guard才能確保將它們分配在一起? x = y = true; // are two bools assigned together atomically? 也考慮在另一個線程我想讀這些布爾值

    1熱度

    1回答

    我有一個MongoDB,在那裏我保存了包含子項目數組的項目的記錄。當添加或更新子項時,我首先Find主要Item,然後我將新的SubItem添加到SubItems的數組並替換整個Item。這工作「很好」,直到我開始批量插入SubItems。 我想我的問題是,查找和更新不是一個原子操作,結果是我輸了SubItems。 我使用的.NET MongoDB.Driver和我的拯救方法是這樣的: publi

    -3熱度

    2回答

    我知道這顯然是一種競爭條件。但是可能發生的事情是什麼? class Blah { List<String> stuff; public List<String> getStuff() { return stuff } public void setStuff(List<String> newValue) { this.stuff =

    0熱度

    1回答

    Java的原子變量如AtomicInteger如何在內部工作以實現互斥/原子性? 是否有機器指令級別的鎖定會產生更好的性能? 或者原子機器級指令本身與常規的機器指令集相比,它將值從主存儲器複製到寄存器/高速緩存,並在該寄存器上執行操作,然後存儲回主存儲器。

    0熱度

    3回答

    道歉,如果這已經被回答,或者如果我失去了一些東西明顯。 我想了解原子的擔保有多深去std::atomic。例如,如果我們有 std::atomic<int> a(0); a.store(1); 存儲操作是原子的。但是,如果我們有嵌套的原子操作,如出現這種情況是什麼: std::atomic<int> a(0); std::atomic<int> b(1); a.store(++b);