请问老师一个课外线程池的问题
老师,在学习线程池的时候,有个小问题,想请教下!
代码1:
def test_run():
sum = 0
for i in range(10000000):
sum += i
print(sum)
if __name__ == "__main__":
executor = ThreadPoolExecutor(max_workers=2)
executor.submit(test_run)
代码2:
def test():
print('start')
executor.submit(test_run)
print('end')
def test_run():
sum = 0
for i in range(10000000):
sum += i
print(sum)
if __name__ == "__main__":
executor = ThreadPoolExecutor(max_workers=2)
executor.submit(test)
在代码1中,主线程会等待线程池中的提交的线程运行结束后才退出。而代码2在主线程向线程池中提交了一个任务1后,又在该函数中向线程池提交另一个任务2,主线程并没有等待任务1完成再退出!请问是什么原因?
19
收起
正在回答 回答被采纳积分+1
1回答
Python全栈工程师2020
- 参与学习 人
- 提交作业 5229 份
- 解答问题 2433 个
Facebook曾声称“只招全栈工程师”!全栈用人需求猛增,市面人才紧缺。 0基础进击Python全栈开发,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星