我有一个创建一堆线程的脚本,运行一个程序来使用线程从队列中运行任务,并从每个线程返回一些东西。我想计算其中有多少成功返回,所以我设置了一个变量“successful=0”,并在队列每次报告任务成功完成时递增它。
但是,我收到“UnboundLocalError:分配前引用的局部变量‘成功’”
这是怎么回事?
这是一些示例代码:
successful = 0
q = Queue(200)
for i in range(100):
t=Thread(target=foo)
t.daemon=True
t.start()
def foo():
while True:
task=q.get()
#do some work
print task
successful+=1 # triggers an error
q.task_done()
for i in range(100):
q.put("Foo")
q.join()
print successful