-
快速、通用的ConcurrentDeque实现,适用于C++17,采用Chase-Lev无锁工作窃取算法的双端队列
资源介绍
riften::Deque
“动态循环工作窃取队列”一文中介绍了一种无边沿,无锁定,多生产者的Chase-Lev工作窃取双端队列,并在后续论文中进一步改进了“正确而有效的工作窃取”用于弱内存模型”。
此实现基于:
这种实现方式对可以放置在双端队列中的类型没有任何限制,并且没有与缓冲区回收相关联的内存开销。 此外,它提供了强大的异常保证。
用法
// #include
// #include
// #include "riften/deque.hpp"
// Work-stealing deque of strings
riften::Deque deque;
// One thread can push and pop items from one end (like a s