14 异步 回调函数

异步

  • 同步调用就是你 喊 你朋友吃饭 ,你朋友在忙 ,你就一直在那等,等你朋友忙完了 ,你们一起去 (确定的)
  • 异步调用就是你 喊 你朋友吃饭 ,你朋友说知道了 ,待会忙完去找你 ,你就去做别的了。(不确定什么时候去)

      

      

   1)异步程序1:回调函数

from multiprocessing import Pool
import time
import os

def test():
    print("---进程池中的进程---pid=%d,ppid=%d--"%(os.getpid(),os.getppid()))
    for i in range(3):
        print("----%d---"%i)
        time.sleep(1)
    return "hahah"

def test2(args):
    print("---callback func--pid=%d"%os.getpid())
    print("---callback func--args=%s"%args)

pool = Pool(3)
pool.apply_async(func=test,callback=test2)

time.sleep(5)

print("----主进程-pid=%d----"%os.getpid())

     

      

   2)异步2:执行回调函数

from multiprocessing import Pool
import time
import os

def test():
    print("---进程池中的进程---pid=%d,ppid=%d--"%(os.getpid(),os.getppid()))
    for i in range(3):
        print("----%d---"%i)
        time.sleep(1)
    return "hahah"

def test2(args):
    print("---callback func--pid=%d"%os.getpid())
    print("---callback func--args=%s"%args)

pool = Pool(3)
pool.apply_async(func=test,callback=test2)

while True:
    time.sleep(1)
    print("----主进程-pid=%d----"%os.getpid())
python@ubuntu:~/python06/05-线程$ python3 11-异步.py 
---进程池中的进程---pid=10982,ppid=10980--
----0---
----主进程-pid=10980----
----1---
----主进程-pid=10980----
----2---
----主进程-pid=10980----
---callback func--pid=10980
---callback func--args=hahah
----主进程-pid=10980----
----主进程-pid=10980----
----主进程-pid=10980----
----主进程-pid=10980----

     

原文地址:https://www.cnblogs.com/venicid/p/7975637.html