【发布时间】:2020-05-22 04:42:03
【问题描述】:
所以我在下面的代码中遇到了奇怪的行为。我收到错误,局部变量 flag 在分配之前被引用,但它在顶部分配为全局变量。谁能告诉我这里发生了什么以及为什么flag 没有按预期增加?
import concurrent.futures
flag = 0
def make_some():
try:
flag += 1
except Exception as e:
print(e)
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
tasks = {
executor.submit(
make_some
): task_id
for task_id in [1,2,3]
}
for future in concurrent.futures.as_completed(tasks):
pass
【问题讨论】:
标签: python python-multithreading threadpoolexecutor