Python3-异步进程回调函数(callback())介绍


Posted in Python onMay 02, 2020

废话不多说,大家之家看代码吧!

#异步
'''
举例:
你喊你朋友吃饭,你朋友正忙,
如果你一直在那等他,等你朋友忙完了,你们一块去。--同步调用

你喊你朋友吃饭,你朋友正忙,
如果你自己做你自己的事,你朋友忙完,找到你,一块去吃饭。--异步调用

'''
# from bs4 import BeautifulSoup
from multiprocessing import Process,Pool
import os
import time

#子进程任务
def download():
  print('__进程池中的进程——pid=%d,ppid=%d'%(os.getpid(),os.getppid()))
  for i in range(3):
    print('--文件--%d'%i)
    # time.sleep(1)
  return '下载完成!'

#主进程调用回调函数
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)
  #当func执行完毕后,return的东西会给到回调函数callback
  print("---start----")
  p.close()#关闭进程池,关闭后,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 线程开启多任务及回调函数

不说废话了,看代码吧!

# coding:utf-8
from time import sleep
import thread

def long_io(cb):
  print "开始调用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函数返回"

def on_finish(ret):
  print "调用了回调函数"
  print "ret %s" % ret
  print "结束了回调函数"

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__':
  """模拟主循环调度"""
  req_a()
  print '-------------------'
  req_b()
  while True:
    pass

以上这篇Python3-异步进程回调函数(callback())介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的高级数据结构详解
Mar 27 Python
玩转python爬虫之爬取糗事百科段子
Feb 17 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
Python写的一个定时重跑获取数据库数据
Dec 28 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
May 15 Python
python调用Matplotlib绘制分布点并且添加标签
May 31 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
Apr 11 Python
详解Python图像处理库Pillow常用使用方法
Sep 02 Python
Python 日志logging模块用法简单示例
Oct 18 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 Python
浅谈Python中threading join和setDaemon用法及区别说明
May 02 #Python
判断Threading.start新线程是否执行完毕的实例
May 02 #Python
python中threading开启关闭线程操作
May 02 #Python
浅谈python3打包与拆包在函数的应用详解
May 02 #Python
构建高效的python requests长连接池详解
May 02 #Python
如何基于windows实现python定时爬虫
May 01 #Python
如何基于python实现不邻接植花
May 01 #Python
You might like
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
jQuery中需要注意的细节问题小结
2011/12/06 Javascript
jquery $.getJSON()跨域请求
2011/12/21 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
JS+DIV实现鼠标划过切换层效果的方法
2015/05/25 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
2016/12/19 Javascript
深入理解node.js之path模块
2017/05/03 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
2017/08/16 Javascript
Vue异步加载about组件
2017/10/31 Javascript
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
中国双语服务优势的在线购票及活动平台:247tickets
2018/10/26 全球购物
暑期研修感言
2014/02/17 职场文书
高考励志标语
2014/06/05 职场文书
机关党建工作汇报材料
2014/08/20 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
初中思想品德教学反思
2016/02/24 职场文书
靠谱的活动总结
2019/04/16 职场文书
vue3获取当前路由地址
2022/02/18 Vue.js
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server