采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我的理解是这样:在老师的django课程中用到的Nginx+uWSGI部署项目时,uWSGI会开启多个进程,每个进程里单个线程,单线程里完成IO复用。请问我这样理解可以吗?
亲, nginx本身核心是使用了io多路复用, 来提高并发性,但是uwsgi本身是多进程+多线程的方式来实现的并发, django本身也是一个同步io web框架,所以这里不能这样理解, 因为nginx并发高并不能代表uwsgi和django并发高, 因为这两者不是异步io的,异步io需要web框架支持才行,比如课程中的asyncio和sanic以及tornado等这些框架原生支持异步io 所以django、flask这些同步io的框架并发性是没有tornado高的,tornado和asyncio就是为了高并发而生的
那请问单就IO多路复用和多进程之间的关系:是不是利用了python多进程的并行特点发挥多核cpu性能的同时,每个进程单个线程避免线程切换,多个IO操作在单个线程中执行?
对,是这样的
非常感谢!
登录后可查看更多问答,登录/注册
socket编程/多线程/多进程/线程池/asyncio并发编程/协程和异步IO
1.2k 31
1.1k 24
1.1k 16
1.4k 10
1.1k 9