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

针对epoll和协程的疑问?

针对epoll和协程的疑问?

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

2 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

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

TA贡献1951条经验 获得超3个赞

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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号