【 在 hgoldfish 的大作中提到: 】
: 你思维一直没跳出来。。
: 你考虑一个问题啊。假如。你在是内核里面实现协程调度呢?
: epoll() 这些都没有了。也没有 ucontext 帮我搞啥协程切换。
: ...................
内核调度,就是线程/进程呀,你说的所有异步过程发生在内核,在IO时,肯定会锁死线程/进程,但是别的线程/进程不受影响,在用户态,看起来就是同步IO。
在所有的例子里,协程就是语法糖,就如你说的,性能另说,它不是关键的,必不可少的技术方法。
如果把协程的context封装了,那跟线程又有什么区别呢?你的那些例子用多线程干可能更好。
12楼的例子,就是要在IO时挂起一个协程,而不挂起线程,线程可以为其他协程服务(特别是单线程协程),实现用户级的异步IO,那么必须开放context,不然,挂起谁呢?
--
修改:ylh1969 FROM 221.218.60.*
FROM 221.218.60.*