使用python时,gevent中发生线程异常

2024-04-25 09:47:46 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行这个python代码时,出现了一些线程问题。我在网上搜索,但没有找到答案。在

import urllib2
from time import time
import gevent
import numpy as np

tmp = np.loadtxt('data.txt', dtype=str)
visit_list=tmp[:20]

result_list =[]

def visitUrl(u):
  print 'start %s' %u
  begin = time()
  data = urllib2.urlopen(u).read()
  print len(data)
  print 'end-------- %s' %u
  end = time()
  print ('%s ::begin=%s ::end= %s::end-begin= %s' %(u, begin,end, end-begin))

for i in range(3):
    reqs = []
    begin = time()
    for u in visit_list:
        start = time()
        reqs.append(gevent.spawn(visitUrl, u))
        stop = time()
        print ('%s $$$ %s' %(u, stop-start))
    #reqs = [gevent.spawn(visitUrl, u) for u in visit_list]
    gevent.joinall(reqs)
    end = time()

    print 'ciclie %s=%s' %(i, end - begin)
    result_list.append(end-begin)

问题是:

^{pr2}$

Tags: inimportfordatatimegeventvisiturllib2