用于在不使用锁的情况下同步多线程环境或其他形式的分布式系统的方法和算法的总称。
为了提高我的C技能,我实现了一个线程安全且无锁的队列。该算法来自Maurice Herlihy和Nir Shavit的“多处理器编程艺术”一书的第10.5章......
交换两个unique_ptrs并不保证是线程安全的。的std ::的unique_ptr a,b; std :: swap(a,b); //不是threadsafe因为我需要原子指针交换,因为我喜欢所有权......
对于我的一个必须支持并发读写的项目,我需要一个能够缓冲项目的容器,直到消费者一次获取每个当前缓冲的项目。作为生产者......
boost :: lockfree :: queue(在多线程程序中)是否可锁定?
我正在开发一个程序,其中2+(gstreamer)boost :: threads和一个虚拟应用程序的相同数量的boost :: threads同时使用队列。现在这个队列用于同步......
我的整体设计是让多个生产者线程(> 2)将结果生成为两个原子 processing_done = FALSE; //当所有生产者完成//将设置为true boost :: ...
可以检查boost :: lockfree :: queue是否已满?
我正在使用boost :: lockfree :: queue Foo(128)。在弹出队列之前,我可以通过Foo.empty()函数检查队列是否为空状态。我想知道我是否可以同样检查它的状态...
/boost/lockfree/queue.hpp:错误:静态断言失败:(boost :: has_trivial_destructor ::值)
我试图在此文件中将boost :: lockfree :: queue替换为std :: queue https://github.com/zaphoyd/websocketpp/blob/experimental/examples/broadcast_server/broadcast_server.cpp我添加了#include ...
有趣的是,我发现很多程序员错误地认为“无锁”只意味着“没有互斥的并发编程”。通常,还有一个相关的误解......
我对C语言中的并发性非常陌生,并试图做一些基本的工作人员来理解它是如何工作的。我想编写一个符合无锁定乒乓的实现,即一个线程打印ping,...
我正在寻找一个集合数据结构:线程安全锁定免费非分配(摊销或预分配是好的)非侵入性不使用外来内在元素顺序不...
最近我遇到了这个问题:有3个消费者线程需要实现一个无锁队列(不能使用同步),这样就不会阻塞消费线程。假设队列......
是否存在“无锁FIFO队列的optmistic方法”算法的C ++实现(源代码)?
对于大数组(10 ^ 7个元素)上的信号处理,我使用与环形缓冲区连接的不同线程。遗憾的是,只需要太多时间将数据复制到缓冲区和从缓冲区复制数据。目前......
我已经看到几个过于复杂(在我看来很明显)在c ++中使用无锁堆栈的实现(使用这里的标签),我想出了我认为简单但仍然有效的...
我也在做一个c实现,目前有队列的结构:typedef struct queueelem {queuedata_t data; struct queueelem * next; } queueelem_t; typedef struct queue {...
我怎么能在C中实现这个无锁队列伪代码? ENQUEUE(x)q←新记录q ^ .value←x q ^ .next←NULL重复p←tail succ←COMPARE&SWAP(p ^ .next,NULL,...
我正在尝试在C ++ 11中实现无锁的多生产者,多消费者队列。我将其作为学习活动进行,因此我很清楚可以使用现有的开放源代码...
opaque函数调用在编译器优化中意味着什么?我发现它为什么全局变量会导致函数调用中的编译器优化出现问题?和'opaque function call'...
我有一堆线程正在彼此进行大量的沟通。我希望这是免费的。对于每个线程,我想拥有一个邮箱,其他线程可以向其发送消息,(...
我需要构建一个无锁的堆栈实现。我阅读了这个页面,我理解了列出的无锁推送操作的功能。现在,我必须建立一个类似版本的流行音乐......