为了账号安全,请及时绑定邮箱和手机立即绑定

Python中的异步方法调用?

Python中的异步方法调用?

慕码人2483693 2019-10-14 11:02:12
我想知道Python中是否有任何用于异步方法调用的库。如果您可以做这样的事情会很棒@asyncdef longComputation():    <code>token = longComputation()token.registerCallback(callback_function)# alternative, pollingwhile not token.finished():    doSomethingElse()    if token.finished():        result = token.result()或异步调用非异步例程def longComputation()    <code>token = asynccall(longComputation())在语言核心中拥有更加精致的策略,这将是很棒的。是否考虑过?
查看完整描述

3 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

您可以使用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.

这只是一种选择。该模块提供了许多工具来实现您想要的。同样,用这种方法制作装饰器真的很容易。


查看完整回答
反对 回复 2019-10-14
  • 3 回答
  • 0 关注
  • 825 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信