gevent 協程用法

2022-06-19 23:18:22 字數 561 閱讀 5658

文章介紹了一種採用迴圈的方式生產協程列表,並可以向協程函式傳遞引數。。。

# 協程引用

import gevent

from gevent import monkey, pool

monkey.patch_all()

# 初始化協程池 

poolnum = 10

pool = pool.pool(poolnum)      # 例項化乙個協程池

coroutine_list =

# 構造協程列表 

coroutine = [pool.spawn(coroutinefunc, param=i) for i in list]

# 等待協程執行完畢

gevent.joinall(coroutine)

# 協程列表釋放

del coroutine

# 協程執行函式

def coroutinefunc(param):

pass

注意:協程列表使用完畢後一定要主動釋放,列表不會自動釋放。

gevent實現協程

1 yield實現 import time def task 1 while true print 1 time.sleep 0.1 yield def task 2 while true print 2 time.sleep 0.1 yield def main t1 task 1 建立迭代器 t...

python 協程 gevent模組

import requests 匯入 gevent import gevent 由於切換是在io操作時自動完成 所以gevent需要修改python自帶的一些標準庫 這一過程在啟動時通過monkey patch 猴子補丁 完成 from gevent import monkey monkey.pat...

Python yield協程 gevent的理解

如 import time defa for i in range 10 yield time.sleep 1 defb for i in range 10 yield time.sleep 1 a1 a b1 b while1 next a1 next b1 由於yield的可以暫停函式的執行,也...