python里怎么实现异步调用

Python0167

python里怎么实现异步调用,第1张

本文实例讲述了python使用multiprocessing模块实现带回调函数的异步调用方法。分享给大家供大家参考。具体分析如下:

multipressing模块是python 2.6版本加入的,通过这个模块可以轻松实现异步调用

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.

希望本文所述对大家的Python程序设计有所帮助。

异步通信是一种很常用的通信方式。

相对于同步通信,异步通信在发送字符时,所发送的字符之间的时隙可以是任意的,当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。内部处理器在完成了相应的操作后,通过一个回调的机制,以便通知发送端发送的字符已经得到了回复。

python回调函数的使用方法

在计算机程序设计中,回调函数,或简称回调(Callback),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序

有两种类型的回调函数:

那么,在python中如何实现回调函数呢,看代码:

代码如下:

def my_callback(input):

print "function my_callback was called with %s input" % (input,)

def caller(input, func):

func(input)

for i in range(5):

caller(i, my_callback)