Nop*_*ope 45 python callback parallel-python
在并行Python中,它在提交函数中有一些叫做回调(文档)的东西,但它似乎没有解释得太好.我几天前在他们的论坛上发帖,我没有收到回复.有人会解释回调是什么以及它用于什么?
谢谢.
Log*_*ldo 170
回调是由API的消费者提供的函数,然后API可以转向并调用(回调您).如果我设置了博士的预约,我可以给他们我的电话号码,这样他们就可以在前一天打电话给我确认预约.一个回调就是这样,除了不仅仅是一个电话号码,它可以是任意的指令,如"给我发一封电子邮件到这个地址,还打电话给我的秘书,让她把它放在我的日历中.
回调通常用于动作异步的情况.如果你需要调用一个函数,并立即继续工作,你不能坐在那里等待它的返回值让你知道发生了什么,所以你提供一个回调.当函数完全完成其异步工作时,它将使用一些预定的参数调用您的回调(通常是您提供的一些参数,以及一些关于您请求的异步操作的状态和结果).
如果博士不在办公室,或者他们仍然按照时间表工作,而不是让我等待他回来,这可能是几个小时,我们挂断了,一旦预约,他们打给我.
在这种特定情况下,Parallel Python的submit函数将使用您提供的任何参数调用您的回调,并且func
一旦func
执行完毕就会调用结果.
Ale*_*lli 18
文档中的相关点:
callback - callback function which will be called with argument
list equal to callbackargs+(result,)
as soon as calculation is done
callbackargs - additional arguments for callback function
Run Code Online (Sandbox Code Playgroud)
因此,如果您希望在结果准备就绪后立即执行某些代码,则将该代码放入函数中并将该函数作为callback
参数传递.如果你不需要其他参数,那就是,例如:
def itsdone(result):
print "Done! result=%r" % (result,)
...
submit(..., callback=itsdone)
Run Code Online (Sandbox Code Playgroud)
有关callback
Python中模式的更多信息,请参阅此处的演示文稿.