이 Python 코드를 실행할 때 스레드 문제가 발생했습니다. 나는 인터넷을 검색하지만 그 답을 찾지 못한다.파이썬을 사용할 때 gevent에서 스레드 예외가 발생했습니다
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)
문제는 모든 스레드가 작업을 수행하기 전에
Exception KeyError: KeyError(4475468392,) in <module 'threading' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.pyc'> ignored
나는 코드를 실행하고 그것을 잘 작동합니다. 어떤 OS가 있습니까? 어떤 버전의 파이썬과 gevent입니까? data.txt에있는 URL은 무엇입니까? –