2016-11-30 8 views
1

私はGoogle検索サービスThreadPoolExecutor + Requests ==デッドロックですか?

from concurrent.futures import ThreadPoolExecutor 
import requests 

import requests.packages.urllib3 
requests.packages.urllib3.disable_warnings() 


def check(page): 
    r = requests.get('https://www.google.ru/#q=test&start={}'.format(page * 10)) 
    return len(r.text) 

import time 

def main(): 
    for q in xrange(30): 
    st_t = time.time() 
    with ThreadPoolExecutor(20) as pool: 
     ret = [x for x in pool.map(check, xrange(1,1000))] 
     print time.time() - st_t 

if __name__ == "__main__": 
    main() 

への要求の多くを作り、それが最初に動作しますが、その後、何かが間違って起こっている小さな愚かなコードを、持っています。 20個のスレッドはすべて生きていますが、何もしません。私は、彼らが生きている、htopで見ることができますが、私は実際に何も起こらない理由を理解していません。

何が間違っている可能性がありますか?

答えて