c++ - boost::asio: "strand"类型的同步原语有什么名字吗?

标签 c++ multithreading boost boost-asio

boost::asio 库提供了一个有趣的同步模型,使用“strands”来序列化对通常需要锁的资源的访问。这实际上通过将每个锁定操作转变为入队来 boost 并行性。

搜索“strands”只会产生与 asio 相关的结果,尽管它们看起来像是对多线程非常有用的原语。是否还有其他我遗漏的术语?

asio strand 文档链接:http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/reference/io_service__strand.html

最佳答案

我不知道该构造的正式名称。

基于Boost.Asio ( N2175 - Networking Library Proposal for TR2 ) 的提案记录了strand 类,但没有引用任何相关 Material 。此外,英特尔编译器文档对 strand 进行了一些引用。在其执行模型中,将其定义为“没有任何并行控制结构的任何指令序列”。

关于c++ - boost::asio: "strand"类型的同步原语有什么名字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18384393/

相关文章:

c++ - 将长度为 0 的字符串 ('0' ) 传递给需要 char* 的 STL 函数

c++ - 在期望 "char"的同时获取 "const char"

c++ - 哪个 Qt Creator 与 Qt4 兼容?

java - 检查应用程序何时启动?

c++ - 为什么 boost 寻找 libboost_*.lib 而不是 boost_*.lib?

c++ - Qt中应该使用哪种内存管理方式?

c++ - SFINAE 组装?

java - eclipse RCP : check if a job has finished

java - 线程和事务 : nested transactions not supported

c++ - 为 X 毫秒数创建一个 boost::posix_time::ptime 实例