【发布时间】:2015-01-06 11:41:16
【问题描述】:
在 Python docs 我看到了:
concurrent.futures.Future... ...不应该直接创建 测试除外。
我想在我的代码中使用它作为一个承诺,我很惊讶不建议这样使用它。
我的用例:
我有一个 single 线程来读取来自套接字的数据包,并且我有 许多 回调,这些回调取决于数据包中包含的某些信息。数据包是对消费者请求的响应,所有消费者使用单一连接。每个消费者都会收到一个 Promise 并向其添加一些处理程序,这些处理程序会在响应到达时被调用。
所以我不能在这里使用Executor 子类,因为我只有一个线程,但我需要创建许多 Futures(承诺)。
Promise 是一种非常普遍的编程技术,我认为Future 是 Python 的 Promise 实现。但是如果不建议像promise那样使用的话,pythonistas常用的有哪些呢?
注意
我使用 Python 2.7 backport of concurrent.futures to 2.7
【问题讨论】:
-
Executor 类甚至没有实现创建期货——子类可以。我刚刚使用了 Future 类。这没有问题。或许作者知道为什么会这样写。
-
@User 我的意思是子类。我想我也会使用它们。 p.s.很酷的昵称。
标签: python concurrency promise future concurrent.futures