0

①:gevent就是python的协程库,用monkey_patch的方式实现了python的协程,它解决的问题主要是把阻塞IO通过协程的方式转为非阻塞IO,gevent是同步非阻塞IO,而nodejs的callback是异步非阻塞IO,这样理解对吗?
②:是不是协程就是解决IO阻塞问题的
③:python的gevent能不能像golang那样开很多协程
④:还有更好的性能解决方案吗?

新手有些疑问,请各位大佬指点。谢谢!

Root 115
2017-07-27 提问
1 个回答
0

IO是不是阻塞的和协程是没有关系的,python本来就能支持非阻塞IO
比如在linux只要用API,更改了文件描述符的属性就可以
协程是同步的,并不是异步的,gevent除了协程的支持还要有比如同步非阻塞IO才行。
nodejs的底层的实现支持异步非阻塞IO
协程只是改变了写东西的方式,其实实际的东西是没有太大变化的,单线程的代码还是会在单线程上跑,
不过配合非阻塞IO可以更好的做东西,golang的协程支持多线程

撰写答案

推广链接