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())

在语言核心中拥有更加精致的策略,这将是很棒的。是否考虑过?


慕码人2483693
浏览 826回答 3
3回答

慕虎7371278

您可以使用Python 2.6中添加的多处理模块。您可以使用进程池,然后通过以下方式异步获取结果:apply_async(func[, args[, kwds[, callback]]])例如:from multiprocessing import Pooldef f(x):&nbsp; &nbsp; return x*xif __name__ == '__main__':&nbsp; &nbsp; pool = Pool(processes=1)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Start a worker processes.&nbsp; &nbsp; result = pool.apply_async(f, [10], callback) # Evaluate "f(10)" asynchronously calling callback when finished.这只是一种选择。该模块提供了许多工具来实现您想要的。同样,用这种方法制作装饰器真的很容易。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python