C语言中如何实现协程,能否提供一个长尾的示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计458个文字,预计阅读时间需要2分钟。
C++20引入了协程(Coroutine)概念,该特性自2017年起便开始规划。协程在早期就已经出现,甚至早于C++20。协程的引入,使得C++标准库更加丰富。
C++20中的协程(Coroutine)
从2017年开始, 协程(Coroutine)的概念就开始被建议加入C++20的标准中了,并已经开始有人对C++20协程的提案进行了介绍。1事实上,协程的概念在很早就出现了,甚至其他语言(JS,Python,C#等)早就已经支持了协程。
可见,协程并不是C++所特有的概念。
那么,什么是协程?
简单来说,协程就是一种特殊的函数,它可以在函数执行到某个地方的时候暂停执行,返回给调用者或恢复者(可以有一个返回值),并允许随后从暂停的地方恢复继续执行。注意,这个暂停执行不是指将函数所在的线程暂停执行,而是单纯的暂停执行函数本身。
那么,这种特殊函数有什么用呢?最常见的用途,就是将“异步”风格的编程“同步”化。
比如,我们有一个请求webapi的库,然后在某个应用中我们需要发送一个lewissbaker.github.io/
C++20标准的草案n4849.pdf www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/n4849.pdf § 17.12.5
C++20标准的草案n4849.pdf www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/n4849.pdf § 7.6.2.3
到此这篇关于C++20中的协程(Coroutine)的实现的文章就介绍到这了,更多相关C++20 协程 内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!
本文共计458个文字,预计阅读时间需要2分钟。
C++20引入了协程(Coroutine)概念,该特性自2017年起便开始规划。协程在早期就已经出现,甚至早于C++20。协程的引入,使得C++标准库更加丰富。
C++20中的协程(Coroutine)
从2017年开始, 协程(Coroutine)的概念就开始被建议加入C++20的标准中了,并已经开始有人对C++20协程的提案进行了介绍。1事实上,协程的概念在很早就出现了,甚至其他语言(JS,Python,C#等)早就已经支持了协程。
可见,协程并不是C++所特有的概念。
那么,什么是协程?
简单来说,协程就是一种特殊的函数,它可以在函数执行到某个地方的时候暂停执行,返回给调用者或恢复者(可以有一个返回值),并允许随后从暂停的地方恢复继续执行。注意,这个暂停执行不是指将函数所在的线程暂停执行,而是单纯的暂停执行函数本身。
那么,这种特殊函数有什么用呢?最常见的用途,就是将“异步”风格的编程“同步”化。
比如,我们有一个请求webapi的库,然后在某个应用中我们需要发送一个lewissbaker.github.io/
C++20标准的草案n4849.pdf www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/n4849.pdf § 17.12.5
C++20标准的草案n4849.pdf www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/n4849.pdf § 7.6.2.3
到此这篇关于C++20中的协程(Coroutine)的实现的文章就介绍到这了,更多相关C++20 协程 内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

