await, co_yield 都只涉及到纤程的切换。
epoll_wait() 是给事件循环纤程用的。这个纤程干的事情和操作系统内核差不多,专门搞调度。
但是纤程不一定要被某个控制中心调度。就像我前面说的,两个纤程可以自主地来回切换。完全不需要第三者的参与。这个时候,epoll_wait() 就没有用了。
事实上,我之前还考虑过完全没有事件循环,几个纤程自己内部任意协调的玩法。或者一次性从 epoll_wait() 返回多个事件,然后唤醒几个相关的纤程,让这几个纤程自己内部搞定完再返回事件循环的。不过不太好实现。API 不好弄。
【 在 ylh1969 的大作中提到: 】
: 明白,这只是例子。
: 不过还是不懂await如何与epoll_wait结合进行协程调度。
--
修改:hgoldfish FROM 117.28.163.*
FROM 117.28.163.*