gevent实现的协程是同步非阻塞还是异步非阻塞?
①:gevent就是python的协程库,用monkey_patch的方式实现了python的协程,它解决的问题主要是把阻塞IO通过协程的方式转为非阻塞IO,gevent是同步非阻塞IO,而nodejs的callback是异步非阻塞IO,这样理解对吗?
②:是不是协程就是解决IO阻塞问题的?
③:python的gevent能不能像golang那样开很多协程?
④:还有更好的性能解决方案吗?
新手有些疑问,请各位大佬指点。谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
IO
是不是阻塞的和协程是没有关系的,python
本来就能支持非阻塞IO
,比如在
linux
只要用API
,更改了文件描述符的属性就可以协程
是同步的,并不是异步的,gevent
除了协程的支持还要有比如同步非阻塞IO
才行。nodejs
的底层的实现支持异步非阻塞IO
协程只是改变了写东西的方式,其实实际的东西是没有太大变化的,单线程的代码还是会在单线程上跑,
不过配合
非阻塞IO
可以更好的做东西,golang
的协程支持多线程