相关疑难解决方法(0)

c ++是否存在多生产者单一消费者无锁队列?

我读的越多,我变得越困惑......我会认为找到一个在c ++中实现的正式正确的mpsc队列是微不足道的.

每当我发现另一次刺痛时,进一步的研究似乎表明存在诸如ABA或其他微妙的竞争条件之类的问题.

许多人都在谈论垃圾收集的必要性.这是我想要避免的.

那里有一个公认的正确的开源实现吗?

c++ synchronization lock-free

27
推荐指数
1
解决办法
3万
查看次数

两个线程访问的共享队列的关键部分代码是什么?

假设我们有一个共享队列(使用数组实现),两个线程可以访问,一个用于从中读取数据,另一个用于向其写入数据.现在,我遇到了同步问题.我正在使用Win32 API(EnterCriticalSection等)实现这一点.

但我的好奇心是队列的入队和出队操作中的关键部分代码是什么?

仅仅因为,两个线程正在使用共享资源?为什么我无法看到任何问题:前端和后端都被维护,因此,当ReaderThread读取时,它可以从前端读取,当WriterThread写入时,它可以轻松写入后端.

可能会出现哪些潜在问题?

c++ multithreading critical-section

8
推荐指数
1
解决办法
1505
查看次数