您的位置:首页 > 编程语言 > Python开发

【python】gevent协程例子

2017-06-29 10:34 441 查看
说在前面:用协程还是多线程需要仔细考量。我在做实验时请求了100w个ip,分别用pool为1000的协程和64个线程来跑,结果是多线程的速度是协程的10倍以上。

一个简单的协程例子

#!/usr/bin/env python
#coding=utf-8

from gevent import monkey; monkey.patch_socket()
import gevent.pool
import gevent

def do_something(ip):  #在io时协程自动切换
#request ip
pass

def main():
pool = gevent.pool.Pool(1000)
f = open("a_lot_of_ip.json", "r")
g = []
for d in f.readlines():
ip = d
pool.add(gevent.spawn(do_something, ip))
f.close()
pool.join()

if __name__ == "__main__":
main()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: