从没感觉c++里面“coroutine需要指定下一个coroutine”
举个例子?
【 在 lambdai (lambdai) 的大作中提到: 】
: 标 题: Re: 看了网上讲C++20 coroutine的十几篇介绍文章,竟然还是云里
: 发信站: 水木社区 (Wed Sep 9 16:01:42 2020), 站内
:
: 感觉cpp coroutine还有一个巨大的差别是,coroutine需要指定下一个coroutine,就像你切换函数一样,要么指定另一个coroutine,要么return
:
: 而fiber和thread只有yield语义。就像你在thread内部从来不会说,去切换到tid是A的那个thread
:
:
: 【 在 Maksim 的大作中提到: 】
: : 虽然从最底层的实现上,coroutine 和 thread 类似,但他们对开发者暴露的用途不一样.
: :
: : coroutine 很重要的一点是提供了在一个线程内部不同 task 间轻量级的切换。在线程内部,用户就可以根据自己的需求来协调。外部来看仍一个线程pin在一个 core 上满载,最大化性能。这个理念,在现代高性能事务处理里很常见。比如,事务A想拿锁,看到已经被事务B占了,事务A必须要 yield。这里A,B 和锁的结构可以都在一个线程内部,没有 I/O,但还是有逻辑上的 block和 yield。
: : ....................
:
: - 来自「最水木 for iPad Air (3rd generation)」
: --
:
: ※ 来源:·最水木 客户端·[FROM: 75.31.75.*]
--
FROM 111.200.53.*