我的理解是,在Java中,协程是基于nio的。所以我可以说java支持协程。我可以使用选择器/通道来自己实现我的协程应用程序。我说的对吗?
发布于 2018-04-16 20:44:05
您可以让一个线程处理N个连接,但这并不是实现协程;它只是变戏法。
在最好的情况下,代码将是异步感知的,将自己拆分为之前/之后的阶段,并异步启动读/写。它将不得不挂起某种形式的回调处理程序、计划任务、反应流等,或者可选轮询循环的阶段来恢复处理,但显然不是在同一行代码中。
在java中(没有主要的jvm/bytecode hack),线程不可能透明地离开并返回到方法的阻塞/退化点来做其他事情。
显然,在异步任务最终通知调用线程之前,只需将其驻留;这不会带来任何性能。)
https://stackoverflow.com/questions/49853337
复制相似问题