Python3-異步進程回調(diào)函數(shù)(callback())介紹
廢話不多說,大家之家看代碼吧!
#異步 ''' 舉例: 你喊你朋友吃飯,你朋友正忙, 如果你一直在那等他,等你朋友忙完了,你們一塊去。--同步調(diào)用 你喊你朋友吃飯,你朋友正忙, 如果你自己做你自己的事,你朋友忙完,找到你,一塊去吃飯。--異步調(diào)用 ''' # from bs4 import BeautifulSoup from multiprocessing import Process,Pool import os import time #子進程任務(wù) def download(): print('__進程池中的進程——pid=%d,ppid=%d'%(os.getpid(),os.getppid())) for i in range(3): print('--文件--%d'%i) # time.sleep(1) return '下載完成!' #主進程調(diào)用回調(diào)函數(shù) def alterUser(msg): print("----callback func --pid=%d"%os.getpid()) print(msg) if __name__ == "__main__": p = Pool(3) p.apply_async(func=download,callback=alterUser) #當(dāng)func執(zhí)行完畢后,return的東西會給到回調(diào)函數(shù)callback print("---start----") p.close()#關(guān)閉進程池,關(guān)閉后,p不再接收新的請求。 p.join() print("---end-----")
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/apple/PycharmProjects/stage4/thread/t19.py
---start----
__進程池中的進程——pid=6087,ppid=6086
--文件--0
--文件--1
--文件--2
----callback func --pid=6086
下載完成!
---end-----
補充知識:Python 線程開啟多任務(wù)及回調(diào)函數(shù)
不說廢話了,看代碼吧!
# coding:utf-8 from time import sleep import thread def long_io(cb): print "開始調(diào)用long_IO" def func(callback): print "start long_IO" sleep(2) callback(1) print "end long_IO " thread.start_new_thread(func, (cb,)) print "long_IO函數(shù)返回" def on_finish(ret): print "調(diào)用了回調(diào)函數(shù)" print "ret %s" % ret print "結(jié)束了回調(diào)函數(shù)" def req_a(): print "start calling a" long_io(on_finish) print "end a" def req_b(): print "start calling b" sleep(1) print "end b" # 同步概念: if __name__ == '__main__': """模擬主循環(huán)調(diào)度""" req_a() print '-------------------' req_b() while True: pass
以上這篇Python3-異步進程回調(diào)函數(shù)(callback())介紹就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python裝飾器入門學(xué)習(xí)教程(九步學(xué)習(xí))
裝飾器(decorator)是一種高級Python語法。裝飾器可以對一個函數(shù)、方法或者類進行加工。本文給大家介紹Python裝飾器入門學(xué)習(xí)教程(九步學(xué)習(xí)),對python裝飾器相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2016-01-01Python使用pandasai實現(xiàn)數(shù)據(jù)分析
本文主要介紹了Python使用pandasai實現(xiàn)數(shù)據(jù)分析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06使用Python實現(xiàn)windows下的抓包與解析
這篇文章主要介紹了使用Python實現(xiàn)windows下的抓包與解析,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-01-01python“靜態(tài)”變量、實例變量與本地變量的聲明示例
這篇文章主要給大家介紹了關(guān)于python“靜態(tài)”變量、實例變量與本地變量的聲明的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11python日記(使用TCP實現(xiàn)的對話客戶端和服務(wù)器)
這篇文章主要為大家介紹了python使用TCP實現(xiàn)的對話客戶端和服務(wù)器實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03