atomicity

    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? 也考虑在另一个线程我想读这些布尔值

    -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热度

    1回答

    随着Kafka 0.11.0.0的最后一个版本,Apache团队正在引入幂等生产者和交易。 是否有可能保证我们想要记录的整组消息(例如100万)只会在最后被提交? 我想说的是,如果生产者与经纪商之间的联系松动并且无法使其稳定下来,消费者就不会看到消息。可能吗?

    1热度

    1回答

    我有一个MongoDB,在那里我保存了包含子项目数组的项目的记录。当添加或更新子项时,我首先Find主要Item,然后我将新的SubItem添加到SubItems的数组并替换整个Item。这工作“很好”,直到我开始批量插入SubItems。 我想我的问题是,查找和更新不是一个原子操作,结果是我输了SubItems。 我使用的.NET MongoDB.Driver和我的拯救方法是这样的: publi

    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);