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实现复制整个目录的方法
May 12 Python
python如何创建TCP服务端和客户端
Aug 26 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
django rest framework vue 实现用户登录详解
Jul 29 Python
Python Web框架之Django框架Model基础详解
Aug 16 Python
Python3操作YAML文件格式方法解析
Apr 10 Python
Python selenium文件上传下载功能代码实例
Apr 13 Python
win10安装python3.6的常见问题
Jul 01 Python
Keras模型转成tensorflow的.pb操作
Jul 06 Python
Python urllib3软件包的使用说明
Nov 18 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 Python
Python中的 No Module named ***问题及解决
Jul 23 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
php metaphone()函数的定义和用法
2016/05/15 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
js函数的引用, 关于内存的开销
2012/09/17 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
js中匿名函数的创建与调用方法分析
2014/12/19 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
javascript实现日历效果
2019/06/17 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
[02:05]2014DOTA2国际邀请赛 BBC外卡赛赛后总结
2014/07/09 DOTA
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
详解python中的Turtle函数库
2018/11/19 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
PyTorch中permute的用法详解
2019/12/30 Python
Python requests设置代理的方法步骤
2020/02/23 Python
python代码实现TSNE降维数据可视化教程
2020/02/28 Python
tensorflow常用函数API介绍
2020/04/19 Python
python 简单的调用有道翻译
2020/11/25 Python
Fnac西班牙官网:法国文化和电子产品零售商
2021/03/14 全球购物
求职简历的自我评价怎样写好
2013/10/07 职场文书
大一自我鉴定范文
2013/12/27 职场文书
报关专员求职信范文
2014/02/22 职场文书
大学生就业求职信
2014/06/12 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
甲午大海战观后感
2015/06/02 职场文书
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python