请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

IO多路复用的理解

我的理解是这样:在老师的django课程中用到的Nginx+uWSGI部署项目时,uWSGI会开启多个进程,每个进程里单个线程,单线程里完成IO复用。请问我这样理解可以吗?

正在回答

1回答

bobby 2018-05-09 17:05:25

亲, nginx本身核心是使用了io多路复用, 来提高并发性,但是uwsgi本身是多进程+多线程的方式来实现的并发, django本身也是一个同步io web框架,所以这里不能这样理解, 因为nginx并发高并不能代表uwsgi和django并发高, 因为这两者不是异步io的,异步io需要web框架支持才行,比如课程中的asyncio和sanic以及tornado等这些框架原生支持异步io 所以django、flask这些同步io的框架并发性是没有tornado高的,tornado和asyncio就是为了高并发而生的

0 回复 有任何疑惑可以回复我~
  • 提问者 时间流逝unity #1
    那请问单就IO多路复用和多进程之间的关系:是不是利用了python多进程的并行特点发挥多核cpu性能的同时,每个进程单个线程避免线程切换,多个IO操作在单个线程中执行?
    回复 有任何疑惑可以回复我~ 2018-05-10 11:50:01
  • bobby 回复 提问者 时间流逝unity #2
    对,是这样的
    回复 有任何疑惑可以回复我~ 2018-05-10 16:10:03
  • 提问者 时间流逝unity #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-05-10 20:33:13
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信