4

我使用 Concurrent.Futures 模块创建了一个 ThreadPool。我创建了线程,一切正常。

但是现在我有一个函数,我想让它与线程并行,问题是我需要每个线程应该运行的函数的返回值,并且不确定在使用期货 threadPool 模块时如何获取它。有办法吗?

4

1 回答 1

4

你的理解result()是绝对错误的。来自文档

result(timeout=None)
返回调用返回的值。如果调用尚未完成,则此方法将等待 timeout 秒。如果调用在 timeout 秒内未完成,则会引发 TimeoutError。timeout 可以是 int 或 float。如果未指定 timeout 或 None,则等待时间没有限制。

如果未来在完成之前被取消,则会引发 CancelledError。

很明显,result()它将为您提供您提交的该功能的结果。

于 2015-09-12T10:00:59.103 回答