问题:Python中的异步方法调用?
我想知道Python中是否有任何用于异步方法调用的库。如果您可以做这样的事情会很棒
@async
def longComputation():
    <code>
token = longComputation()
token.registerCallback(callback_function)
# alternative, polling
while not token.finished():
    doSomethingElse()
    if token.finished():
        result = token.result()
或异步调用非异步例程
def longComputation()
    <code>
token = asynccall(longComputation())
在语言核心中拥有更完善的策略,这将是很棒的。是否考虑过?
回答 0
您可以使用Python 2.6中添加的多处理模块。您可以使用进程池,然后通过以下方式异步获取结果:
apply_async(func[, args[, kwds[, callback]]])例如:
from multiprocessing import Pool
def f(x):
    return x*x
if __name__ == '__main__':
    pool = Pool(processes=1)              # Start a worker processes.
    result = pool.apply_async(f, [10], callback) # Evaluate "f(10)" asynchronously calling callback when finished.这只是一种选择。该模块提供了许多工具来实现您想要的。同样,用这种方法制作装饰器真的很容易。
	声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

