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守护进程用法实例分析
Jun 04 Python
Python 搭建Web站点之Web服务器网关接口
Nov 06 Python
python实现汽车管理系统
Nov 30 Python
用uWSGI和Nginx部署Flask项目的方法示例
May 05 Python
Python PyCharm如何进行断点调试
Jul 05 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
基于梯度爆炸的解决方法:clip gradient
Feb 04 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
python 密码学示例——理解哈希(Hash)算法
Sep 21 Python
python 如何实现遗传算法
Sep 22 Python
Python实现区域填充的示例代码
Feb 03 Python
baselines示例程序train_cartpole.py的ImportError
May 20 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 第三节 变量介绍
2012/04/28 PHP
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
分享十款最出色的PHP安全开发库中文详细介绍
2015/03/22 PHP
PHP之正则表达式捕获组与非捕获组(详解)
2015/07/29 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
WebPack基础知识详解
2017/01/16 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
使用grappelli为django admin后台添加模板
2014/11/18 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
selenium+python实现自动登录脚本
2018/04/22 Python
python实现决策树分类(2)
2018/08/30 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
Python八皇后问题解答过程详解
2019/07/29 Python
Python函数中的可变长参数详解
2019/09/12 Python
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
初一新生军训方案
2014/05/22 职场文书
临床医学专业求职信
2014/08/08 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
python基础之文件处理知识总结
2021/05/23 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
2021/06/11 Python
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript