【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()
相关文章推荐
- python基础-协程gevent用法、协程同步异步、协程socket并发例子
- python模块介绍-gevent介绍:基于协程的网络库
- python--gevent协程及协程概念
- 详解python之协程gevent模块
- 从两个简单例子窥视协程的惊人性能(Python)
- Python 通过gevent实现协程
- python中的协程:greenlet和gevent
- python中的协程模块gevent
- Python 协程的详细用法和例子
- 一个python爬虫协程的写法(gevent模块)
- Python并发编程协程(Coroutine)之Gevent
- 协程-gevent(python版)
- python基于协程的网络库gevent、eventlet
- python中的协程:greenlet和gevent
- python协程io自动切换--gevent
- python3通过gevent.pool限制协程并发数量
- 详解Python 协程的详细用法使用和例子
- python 协程与gevent
- 协程的概念及Python中利用第三方库gevent使用协程
- 关于python协程的一个例子的学习