【问题标题】:In the context of boost::asio, what is the metaphor behind the term "strand"?在 boost::asio 的上下文中,“strand”一词背后的隐喻是什么?
【发布时间】:2015-02-24 08:21:02
【问题描述】:

作为一个法国本地人和 boost::asio 用户,我在我的词汇表中添加了“strand”这个词(在法语中是“toron”),这里是一根由三股绳索组成的图像,每根绳索一个由多个其他组成:

但是我不明白 Christopher Kohlhoff 使用的比喻,是吗?

【问题讨论】:

  • 我不认为真正线程的递归性质在 Boost Asio 的上下文中是非常有意义的
  • 可能不是比喻。有一种名为 Strand 的面向任务的组合编程语言,它早于 Asio 和 Cilk++(它也有一个 strand 概念)。要获得明确的答案,您可能需要直接询问 Kohlhoff。

标签: boost-asio


【解决方案1】:

一个链是一个逻辑的、顺序的路径。

即使许多路径交织在一起,这些路径也是连续的、不间断的,并且在逻辑上是截然不同的。

这就是比喻起作用的原因:即使许多股可以交织在一起(甚至在许多线程上),“代码的逻辑路径”永远不会被破坏、中断或与另一股发生冲突

实际上,问题中的图片非常具有描述性,并且比这更典型,因为实际上您将有有限数量的股线在一个方向(时间向前)和公平交替(@987654322)上做 - 通常 - 类似的工作@ 负责为每个 strand 调度任务)。

【讨论】:

  • 谢谢,这不是最好的比喻,但给变量起个名字并不容易,就像给孩子一样......
  • 说得好。我也成功地将其比喻为一串灯(灯串),每个灯泡都是一个处理程序。
猜你喜欢
  • 2014-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多