c++ - 非阻塞并发编程是真的吗?

标签 c++ multithreading nonblocking

我一直在阅读有关非阻塞算法及其在并发编程中的使用的随机链接。是否有任何有用的库使用 C/C++ 的非阻塞算法以及哪些类型的并发数据结构最受益于非阻塞算法的使用?谢谢。

最佳答案

没有自由锁这样的东西。所有多线程算法都使用同步。您可以获得不使用显式锁但依赖于原子操作和其他此类“非锁”的无锁算法,但现实是您必须是一个非常优秀的程序员 - 并且了解您的目标平台和实现细节 objective-c PU - 为了编写这样的算法。我所知道的唯一真正有效的无锁算法是针对 360 的,由 Microsoft 工程师编写,他们必须获得 360 中的 CPU 如何实现锁定的设计文档,然后才能成功。

C++ 无锁算法将应用于太多的 CPU 来使这样的事情工作——你不能只在 boost::thread 之上编写它。

关于c++ - 非阻塞并发编程是真的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4135313/

相关文章:

c++ - 这些清晰的函数在 C++ 中做同样的事情吗

c++ - 使用 C++ 实现线程

java - 如何在 Spring Boot 中处理 DeferredResult 中的异常?

C# 窗体句柄属性

c++ - 为什么我的代码总是跳过 C++ 的 else 语句?

multithreading - Rust 程序可以生成的最大线程数是多少?

Java Swing - 如何判断什么代码在组件上调用 paint?

node.js - 观察nodejs阻塞调用

ruby - 非阻塞ruby数据处理或方法调用

c++ - 类函数+线程