我一直在阅读关于非阻塞算法及其在并发编程中的应用的随机链接。 有没有使用C/C++非阻塞算法的有用库以及哪些类型的并发数据结构最受非阻塞算法的好处?谢谢。
我一直在阅读关于非阻塞算法及其在并发编程中的应用的随机链接。 有没有使用C/C++非阻塞算法的有用库以及哪些类型的并发数据结构最受非阻塞算法的好处?谢谢。
boost::thread
在 Windows 上使用比较和交换语义来处理 shared_mutex,只有在发生争用时才会进行阻塞调用(使用信号量)。
Windows 本身支持对关键段使用自旋计数(spin count),通过 InitializeCriticalSectionAndSpinCount 尝试在 MP 系统上优化高争用锁的一些位。
微软真正关注了线程性能,管理和本机代码现在都有 轻量级读写锁。
这也给了我另一个机会推荐一本我一直在等待的书,因为它有一章专门讲解这个主题:C++ Concurrency in Action。