python并发和java并发的区别

python并发和java并发的区别,第1张

使用tornado的前提是你的服务是IO密集型的,并且你得写异步api,也可以请参考我签名中的框架,把tornado改造成eventloop+threadpool (GitHub - nikoloss/iceworld: tonado的multi-thread 多线程封装)。我们公司的android ios wap后台全是这套框架在提供服务。目前已经切换到一个分布式>多线程高并发不容易。因为python的线程虽然是真线程,不过它有GIL。 所以通常会使用twisted工具,高并发就不是难题了。在linux下更容易。
由于windows下不知道socket的复制。所以不能使用多进程管理多个python实例处理一个端口的请求。
所以建议你走另外一条路,使用nginx之类的代理,再通过wsgi连接。
另外一种办法是使用jython, 这是没有GIL锁的。
不过话说回来,高并发并不取决于语言快慢。而在于处理请求的快慢。 如果你的请求处理速度极快,即使10个线程也可以高并发到3000以上。甚至8000都可以做到。

虽然没写过,但调查过。
我不知道你说的并发是指的单进程还是什么,如果不限定,前置用Nginx,后置N个web服务,连同一个数据库,那什么语言实现你这个级数的并发都是靠堆行硬件。如果是要单个进程达到3000,那么我的选择是用tornado,支持微线程,我做过实验静态网页可以做到3000并发

本篇主要讲的是 多线程并发优缺点 ,包括执行 IO密集型任务 计算型密集任务 时分别 使用串行和并发 来看CPU的使用效率。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10745212.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存