标签: multithreading producer-consumer lockless
所以,我试图解决生产者 - 消费者问题本质上的问题,但略有不同。
所以主要区别在于生产者的输出可以按任意顺序从列表中删除,而不一定是FIFO。
现在,我正在考虑两个线程之间共享的结构的同步。我想拥有一个无锁结构。我知道无锁队列,但由于上述原因,队列不能很好地适应用例。仍然可以使用队列,如下所示:
但是,如果可能的话,我想避免它。理想情况下我想要的是一个无锁的单链表,一个线程可以附加,而另一个线程可以从中删除任意元素。你能指点我的一些实现或论文吗?