C语言中如何实现协程,能否提供一个长尾的示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计458个文字,预计阅读时间需要2分钟。
C++20引入了协程(Coroutine)概念,该特性自2017年起便开始规划。协程在早期就已经出现,甚至早于C++20。协程的引入,使得C++标准库更加丰富。
C++20中的协程(Coroutine)
从2017年开始, 协程(Coroutine)的概念就开始被建议加入C++20的标准中了,并已经开始有人对C++20协程的提案进行了介绍。1事实上,协程的概念在很早就出现了,甚至其他语言(JS,Python,C#等)早就已经支持了协程。
可见,协程并不是C++所特有的概念。
那么,什么是协程?
简单来说,协程就是一种特殊的函数,它可以在函数执行到某个地方的时候暂停执行,返回给调用者或恢复者(可以有一个返回值),并允许随后从暂停的地方恢复继续执行。注意,这个暂停执行不是指将函数所在的线程暂停执行,而是单纯的暂停执行函数本身。
那么,这种特殊函数有什么用呢?最常见的用途,就是将“异步”风格的编程“同步”化。
本文共计458个文字,预计阅读时间需要2分钟。
C++20引入了协程(Coroutine)概念,该特性自2017年起便开始规划。协程在早期就已经出现,甚至早于C++20。协程的引入,使得C++标准库更加丰富。
C++20中的协程(Coroutine)
从2017年开始, 协程(Coroutine)的概念就开始被建议加入C++20的标准中了,并已经开始有人对C++20协程的提案进行了介绍。1事实上,协程的概念在很早就出现了,甚至其他语言(JS,Python,C#等)早就已经支持了协程。
可见,协程并不是C++所特有的概念。
那么,什么是协程?
简单来说,协程就是一种特殊的函数,它可以在函数执行到某个地方的时候暂停执行,返回给调用者或恢复者(可以有一个返回值),并允许随后从暂停的地方恢复继续执行。注意,这个暂停执行不是指将函数所在的线程暂停执行,而是单纯的暂停执行函数本身。
那么,这种特殊函数有什么用呢?最常见的用途,就是将“异步”风格的编程“同步”化。

