task就是一个总context。里边有好多子context。
从线程池改造成协程时,添加一个ucontext,
然后就是4个函数:
makecontext//设置协程入口
getcontext//初始化ucontext
setcontext //resume
swapcontext//yield
C的协程就这么点东西。
【 在 hgoldfish 的大作中提到: 】
: 嗯。我比较想讨论的是,你这个 "task" 概念不够清晰明了,还是 "coroutine" 这个词比较适合描述你的想法。
: 而用户线程,最好用巨硬以前发明的纤程 (fiber) 来指代。这样子:
: coroutine <-impl-> process
: ...................
--
修改:ylh1969 FROM 221.218.60.*
FROM 221.218.60.*