python线程池ThreadPoolExecutor.submit的数据丢失问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python线程池ThreadPoolExecutor.submit的数据丢失问题相关的知识,希望对你有一定的参考价值。
参考技术AThreadPoolExecutor 是 Executor 的子类,它使用线程池来异步执行调用。
关于concurrent.futures模块下的ThreadPoolExecutor类
在使用submit的时候,如果参数传进去的是生成器对象,在某些情况下,生成器对象会被消耗掉一部分或者是全部的数据
以上示例中,尝试二部分是正常且保证是没有问题
而尝试一则会在submit的时候被消耗掉一部分的数据
尝试三这里先利用tee,复制出两个副本,并且调用了其中一个转list,另一个丢给submit方法,这种情况下,数据不会产生丢失
问题一 :生成器对象为什么会在submit的时候,丢失了部分数据?
问题二 :尝试三这里复制了副本,对其中一个转list,就不会丢失数据,不转list还是会丢失数据,又是什么原理?
不知道有没知情人士可以帮忙解答下,不胜感激、
以上是关于python线程池ThreadPoolExecutor.submit的数据丢失问题的主要内容,如果未能解决你的问题,请参考以下文章