在阅读 boost::coroutine 时文档,我遇到了术语 control block :
The solution is that each coroutine has its own stack and control-block
虽然堆栈 的概念很熟悉,但我以前从未遇到过术语控制 block 。下图可能提供了对什么是控制 block 的上下文(没有双关语意)的理解
由于我无法通过 google 找到更好的解释(提供的 boost context 链接只会让事情变得更加晦涩难懂),谁能提供一个可靠的定义并解释控制 block 的工作原理?
谢谢
最佳答案
该术语可以追溯到 IIRC CP/M 的过程控制 block ,至少有 4 个十年。它是描述运行上下文的数据 block 。后来,threads 有了 Thread Control Blocks,这里对 state 的需要意味着类似的数据结构,所以 Control Block 这个名字才有意义。唯一奇怪的是,通常这些控制 block 是操作系统结构,但 boost 协程不是操作系统管理的。
关于c++ - 什么是 "control block",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27216460/