atomic 相关问题

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

记忆栅栏和记忆屏障是否相同?

这里,我对记忆栅栏(生锈的栅栏功能)一词感到困惑。我可以清楚地了解什么是原子原子的内存屏障,但是我无法弄清楚什么是内存屏障。是...

回答 1 投票 -1

如何在上次运行中计算连续的零?

如果原子向量的上次运行为零,我只想计算上次运行的连续零个数。例如:a

回答 4 投票 5

与普通变量相比,仅读取原子变量是否有性能差异?

int i = 0; if(i == 10){...} // [1] std :: atomic ai {0}; if(ai == 10){...} // [2]在多线程环境中,语句[1]是否比语句[2]快?假设ai ...

回答 1 投票 0

如何在x86处理器上实现“锁添加”

我最近在32核Skylake Intel处理器上对std :: atomic :: fetch_add与std :: atomic :: compare_exchange_strong进行了基准测试。毫不奇怪(从我听说过的关于fetch_add的神话中可以看出,fetch_add是...

回答 2 投票 6

用原子多线程代码删除容器

考虑以下代码:struct T {std :: atomic a = 2; }; T * t =新的T(); //线程1 if(t-> a.fetch_sub(1,std :: memory_order_relaxed)== 1)删除t; //线程2 if(t-> a ....

回答 1 投票 1

将项目添加到带有原子的openCL的链接列表中,会在uint中产生混合字节

我在使用openCL原子时遇到了很大的问题,我无法再进一步了。不幸的是,我没有GPU / openCL编程经验。有人可以帮忙吗?我的代码如下所示:...

回答 1 投票 1

如何有效地阻止PostgreSQL中的序列

我有两个线程,这两个线程都试图阻止20个项目在postgres中形成一个序列。没有并发时,以下查询可以正常工作:选择last_value +1作为start_seq,...

回答 1 投票 0

std :: atomic :x.fetch_add(1)与x ++之间的差异;

extern std :: atomic x;有什么区别? int i = x ++;和外部std :: atomic x; int i = x.fetch_add(1);我觉得第二个版本比较安全,但是我不能...

回答 2 投票 8

perforce提交原子操作的实际方式

强制提交是原子的。这意味着更改列表中是否包含3个要签入的文件,并且该操作成功地签入了前2个文件,但是当...

回答 1 投票 1

使用numba原子操作函数时遇到麻烦(cuda.atomic.compare_and_swap)

我正在尝试使用Numba为我的代码编写cuda内核。我想以某种方式在部分代码中使用原子操作,并编写了一个测试内核,以查看cuda.atomic.compare_and_swap的工作方式。在...

回答 1 投票 0

C11 / C ++ 11弱内存基准测试

[谁能使用宽松的原子操作(尤其是memory_order_release和memory_order_acquire,还有memory_order_consume ...]来比较C11 / C ++ 11代码的性能来指向基准测试结果,

回答 4 投票 8

CUDA:对未签名字符的原子操作

我是CUDA初学者。我在全局内存中有一个无符号字符的像素缓冲区,该缓冲区可以被任何线程和所有线程更新。因此,为了避免像素值怪异,我想执行...

回答 2 投票 2

C ++ 11标准为什么不提供其他无锁原子结构

我知道std :: atomic_flag保证是无锁的,而其他原子的东西,例如std :: atomic ,std :: atomic 则不是,这意味着它们可能是由...生成的。

回答 1 投票 1

为什么`std :: atomic_thread_fence`工作

首先,我想列出我对此的一些理解,如果我错了,请纠正我。 x86中的MFENCE可以确保完整的屏障顺序一致性防止对STORE-STORE进行重新排序,...

回答 1 投票 2

AtomicReference compareAndSet:字符串引用与值相等

假设您有:AtomicReference ref = new AtomicReference <>(“”); bool ok1 = ref.compareAndSet(x1,x2); // x1的值为“”,x2的值为“ test” bool ok2 = ref.compareAndSet(x3,...

回答 1 投票 1

如何一次自动地,安全地和线程安全地初始化全局变量

我创建了一个全局自旋锁变量和一个检查变量:pthread_spinlock_t锁定; int check = 1;现在我想一次精确地初始化此变量:if(check == 1){//原子部分...

回答 1 投票 0

是否有类似Java的C ++中的AtomicStampedReference?

我正在学习无锁结构,并且发现了ABA问题。我认为Java的AtomicStampedReference可以解决此问题。那么,C ++中有什么可以解决这个问题的?

回答 1 投票 0

在c ++中是否有类似(java中的AtomicStampedReference的东西?

我正在学习无锁结构,并且发现了ABA问题。我认为AtomicStampedReference(在Java中)可以解决此问题。因此,在c ++中:有什么类似的方法可以解决此问题吗?谢谢

回答 1 投票 0

C ++-如何初始化原子数组?

array A; atomic_init(A,{0})或A = {ATOMIC_VAR_INIT(0)}似乎都无效,返回了无法理解的错误。您如何将原子数组初始化为0?甚至...

回答 2 投票 6


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