atomic 相关问题

原子操作是不可分割的。该术语用于描述数据库中的事务,多线程程序中的低级访问以及文件系统操作等。

如何检查生产者/消费者模式中的原子对象影响?

我想实现以下 两个线程:producer(可以改变共享变量a),consumer(等待共享变量改变) 我想用atomic来同步线程 问题-我是...

回答 1 投票 0

对原语变量的操作真的是原子的吗?

我正在阅读《Thinking in Java》,我看到一条声明说: long 和 double 以外的原始变量的读写保证作为不可分割的(原子的)进出内存

回答 1 投票 0

为什么 __ATOMIC_SEQ_CST 不能避免 CPU 重新排序?

根据 GCC 定义:https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html __ATOMIC_SEQ_CST 对所有其他 __ATOMIC_SEQ_CST 操作执行总排序。 现在让我们看看...

回答 0 投票 0

使用“memory_order::relaxed”或“memory_order::acq_rel”生成唯一ID?

我在几个地方读到过放松排序可以生成唯一 ID。我对此有疑问,因为如果两个线程同时调用: uniqueId.fetch_add(1, std::memory_order::

回答 1 投票 0

有没有更好的方法来修改一个被多个线程不断调用的函数?

我正在尝试钩住一个函数,这个函数通常被多个线程调用,中间没有任何空闲时间。我想知道什么是最安全的方法来钩住函数,防止其他线程(......)。

回答 1 投票 0

将pthread_cond_broadcast端口转为std::atomic。

我想了解一下std::atomic的进出 (C++ 11中的无锁操作). 我在想,如果像这样的操作: bool SomeClass::waitMyVariableToBeSet() { pthread_mutex_lock(& ...

回答 1 投票 0

为什么Python'list'的'append'方法是原子的,而i = i + 1不是原子的?

根据Python文档,Python list上的append操作是原子的,同时加法操作也不是原子的:i = i + 1。同时加法操作也不是原子的:i = i + 1 我理解Python GIL是强制执行的。

回答 1 投票 2

使用MySQL唯一索引,具有良好的原子性,不会引起错误。

我有这个表。用户id INT PK login VARCHAR UNIQUE 我想知道处理UNIQUE索引插入的最佳方法(例如:新用户创建) 1)我可以简单地INSERT,当一个 "重复...

回答 2 投票 1

小型PCIE TLP写入的原子性

从软件进程的角度来看,是否有任何关于PCIe设备针对常规内存的卡到主机写入的保证,其中单个TLP写入是完全包含的......。

回答 1 投票 1

为什么C++20不用`requires`来限制原子<T>的T?

一个通用的std::atomic 是需要有一个可复制构造和可复制分配的T。[atomics.types.generic]1 如果(1.1)中的任何一项是_......,则该程序是错误的。

回答 2 投票 1

C++20前后std::atomic的初始化。

考虑以下两行代码: std::atomic_flag a { }; / Since C++20 std::atomic_flag a = ATOMIC_FLAG_INIT; / Until C++20 In C++20, the first line initializes a to the ...

回答 1 投票 0

危险点的记忆排序

下面这段代码是人们将危险指针算法(本文中介绍的)大大简化后可以得到的。由于简化的量很大,所以不能 ...

回答 1 投票 1

原子操作是如何工作的,线程如何不能被抢占。是OS保证还是JVM保证?

我正试图理解原子操作的工作原理,尤其是在Java中。以AtomicInteger为例。文档中说它是 "一个可以原子化更新的int值" 例如,一个...

回答 1 投票 3

java原子类防止ABA问题?

我在计算机科学中读到过ABA的问题(在并发环境中),我也读到过这个问题在GC语言中并不实际。现在我在考虑java原子论,我想...

回答 1 投票 0

为什么memory_order_relaxed在x86上使用原子(带锁前缀的)原子指令?

在Visual C ++ 2013上,当我编译以下代码#include int main(){std :: atomic v(2);返回v.fetch_add(1,std :: memory_order_relaxed); }我回来了... ] >>

回答 3 投票 6

在Java中,如何确保布尔标志的安全一致的并发使用,同时最大程度地降低时间性能影响?

在我的场景中,我有DirtyArray对象,它们基本上是原始数组包装器,它们在发生写访问时设置了布尔值“ dirty”标志。公共类DirtyArray {private byte [] data; ...

回答 1 投票 3

Java中DoubleAdder的实际用法

此外,我正在学习多线程。通过AtomicInteger,AtomicBoolean等...时,看到有一个名为DoubleAdder的类,例如AtomicInteger可以被许多线程使用...

回答 1 投票 0

DB事务和集成事件调度-如何使其原子化?

我正在设计一个具有多个有限上下文(微服务)的系统。我将有2种活动。域事件,发生在单个事务(同步)集成事件内的“内存中”,...

回答 1 投票 1

如何为对象ID创建原子计数器? [重复]

我正在为我的数据库实现一个事务系统,在该系统上,我希望事务ID在初始化时增加1:pub struct Transaction {id:i32,} impl Transaction {fn ...

回答 1 投票 -2

如何实现防锈原子计数?

我正在为我的数据库实现事务处理系统。而且我希望在初始化时将事务ID增加1:pub struct事务{id:i32,} impl事务{fn new()...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.