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 16 Python
用Python编写一个简单的FUSE文件系统的教程
Apr 02 Python
Python中一些自然语言工具的使用的入门教程
Apr 13 Python
基于Python实现一个简单的银行转账操作
Mar 06 Python
Django 导出 Excel 代码的实例详解
Aug 11 Python
Python创建普通菜单示例【基于win32ui模块】
May 09 Python
Python列表解析配合if else的方法
Jun 23 Python
Python Django实现layui风格+django分页功能的例子
Aug 29 Python
如何基于python实现归一化处理
Jan 20 Python
TensorFlow获取加载模型中的全部张量名称代码
Feb 11 Python
Python3如何判断三角形的类型
Apr 12 Python
Pytest中skip skipif跳过用例详解
Jun 30 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
模仿OSO的论坛(一)
2006/10/09 PHP
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
escape unescape的php下的实现方法
2007/04/27 PHP
php方法调用模式与函数调用模式简例
2011/09/20 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
YII框架http缓存操作示例
2019/04/29 PHP
JavaScript 题型问答有答案参考
2010/02/17 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
jQuery.form.js的使用详解
2017/06/14 jQuery
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
React服务端渲染原理解析与实践
2021/03/04 Javascript
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
Python进阶之自定义对象实现切片功能
2019/01/07 Python
django框架实现一次性上传多个文件功能示例【批量上传】
2019/06/19 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
服务员岗位责任制
2014/02/11 职场文书
十佳青年事迹材料
2014/08/21 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
银行柜员优质服务心得体会
2016/01/22 职场文书
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python