为了账号安全,请及时绑定邮箱和手机立即绑定

针对epoll和协程的疑问?求解答!

针对epoll和协程的疑问?求解答!

紫衣仙女 2019-08-14 00:35:14
我看了一些协程的实现,很多是通过epoll来作为协程调度器,但是,我这里有一个问题:通过epoll是可以得到所有已经就绪了的文件描述符,也就意味着每次的操作都是非阻塞的,此时,为什么还需要创建协程呢?例如这位兄弟的写法:http://www.qmailer.net/archiv...
查看完整描述

2 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

首先要理解这两个概念的区别:epoll是操作系统在网络层面的多路复用机制是为了能够支撑更多的连接来设计的。协程则是一种更加抽象层面的编程手段,一般是在语言层面或者框架层面来实现,至于实现的手段是什么则取决于语言或者框架开发者了,与协程对应的应该是线程。
                            
查看完整回答
反对 回复 2019-08-14
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

epoll是网络IO模型,是用来处理并发网络请求的,一般现在开发的所谓高并发的服务,大都基于epoll。
而goroutine是用来处理线程创建和调度过于耗资源的,尤其是线程出现阻塞,io等待的时候,会出现上下文切换,非常耗时。而goroutine相对比较轻量级。
                            
查看完整回答
反对 回复 2019-08-14
  • 2 回答
  • 0 关注
  • 256 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信