我在概念化greenlets有什么大不了时遇到了一些麻烦。我了解在同一进程中切换运行功能的能力如何打开通往无限可能的大门;但我没有遇到任何关于他们如何解决标准python技术无法解决的问题的例子(除了生成器中的嵌套函数问题——老实说......“meh”)。
以greenlet 的主页为例,它基本上是一种更复杂的方法:
def test0():
print 12
print 56
print 34
我知道这只是一个多余的例子,但这似乎是greenlets可以做的长期和短期。除非你是一个控制狂,以至于你必须决定何时、何地以及如何执行应用程序中的每一行代码,否则如何test0
通过使用 greenlets 来改进?或者以GUI 为例(这首先是我对 greenlets 感兴趣的地方);while
考虑一个不需要循环的策略应该不难process_commands
,不是吗?
我已经看到一些很酷的事情可以用 greenlets 来完成。但只能与其他包(例如,Stackless、gevent 等)中实现的其他一些黑暗巫术结合使用。即使有了这些,greenlets 还是不够的,需要它们进行子类化。
我的问题:
有哪些真实世界的例子可以说明如何单独使用 greenlets 来增强 python 的功能?我怀疑答案在于网络——这可能就是我不明白的原因。但是还有其他人吗?