Stella981 Stella981
2年前
Python中greenlet和gevent使用示例
\TOC\greenlet示例greenlet微线程,允许在线程中手动切换示例1,线程切换fromgreenletimportgreenletdeftest1(x,y):zgr2.switch(xy)print(z)
Stella981 Stella981
2年前
Python的Gevent框架的多进程模式
Gevent框架性能很高,但一直以来我都纠结在python的GIL模型导致的线程不能抢占多核资源上面。而启动多个python进程的这种利用多核的模式又需要增加前端负载均衡,比如lvs那些,有些麻烦。multiprocessing模块和os.fork又会使得两个进程重复在事件核心注册accept事件,导致文件句柄重复的异常。至于一个进程监听,多个进
Stella981 Stella981
2年前
Gevent简明教程
1、前述进程线程协程异步并发编程(不是并行)目前有四种方式:多进程、多线程、协程和异步。多进程编程在python中有类似C的os.fork,更高层封装的有multiprocessing标准库多线程编程python中有Thread和threading异步编程在linux下主要有三种实现selec
Stella981 Stella981
2年前
Python使用grequests并发发送请求
\TOC\前言requests是Python发送接口请求非常好用的一个三方库,由K神编写,简单,方便上手快。但是requests发送请求是串行的,即阻塞的。发送完一条请求才能发送另一条请求。为了提升测试效率,一般我们需要并行发送请求。这里可以使用多线程,或者协程,gevent或者aiohttp,然而使用起来,都相对麻烦。greques
Stella981 Stella981
2年前
Python 协程实现socket并发
socket多并发socket可以实现单个客户端进行请求访问,它可以通过socketserver来实现并发功能呢,socketserver是通过启用多线程实现并发,在这里我们也可以通过gevent协程来实现单个线程下的多并发。socketserver:importgeventfromgeventi
Stella981 Stella981
2年前
Python 总结
python玩了这么长时间,也该写一些总结了,。。。。好吧,把最喜欢的两个库先说了,gevent,request,一个在协程方面实现最为精妙,猴子补丁也不错,另外一个在人性化方面达到极致。。。元编程,说白了很多东西与C模版类似,可以利用之来创建更为复杂的功能。高性能的模块很多,gevent,meinheld(htt