multiprocessing と gevent を1つのプログラムで一緒に使用したいのですが、私のコードは次のとおりです:
import multiprocessing
import requests
#import gevent.monkey
#gevent.monkey.patch_all()
def download(url):
req = requests.get(url)
return req.status_code, req.text[:22]
urls = ['http://www.ustchacker.com'] * 10
p = multiprocessing.Pool(20)
data = p.map(download, urls)
for status, text in data:
print(status, text)
#a function using gevent, the function will
#also use 'download' function
......
2 行目と 3 行目をコメントアウトします。コメントをキャンセルすると、プログラムがうまく動作しなくなります。gevent がマルチプロセッシングに影響するのはなぜですか? multiprocessing と gevent の両方を 1 つのプログラム ファイルで使用できるようにするには、どうすれば問題を解決できますか?