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
Python3中使用PyMongo的方法详解
Jul 28 Python
python实现textrank关键词提取
Jun 22 Python
python Tcp协议发送和接收信息的例子
Jul 22 Python
使用Pandas对数据进行筛选和排序的实现
Jul 29 Python
python3文件复制、延迟文件复制任务的实现方法
Sep 02 Python
python实现矩阵和array数组之间的转换
Nov 29 Python
Python转换itertools.chain对象为数组的方法
Feb 07 Python
Django使用Celery加redis执行异步任务的实例内容
Feb 20 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 Python
通过代码实例了解Python异常本质
Sep 16 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 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使用pear实现mail发送功能 windows环境下配置pear
2016/04/15 PHP
javascript Excel操作知识点
2009/04/24 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
基于javascript制作微博发布栏效果
2016/04/04 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
element中table高度自适应的实现
2020/10/21 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python入门篇之字典
2014/10/17 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
Python中的取模运算方法
2018/11/10 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
JS原生实现轮播图的几种方法
2021/03/23 Javascript
大学班长的职责
2014/01/27 职场文书
阳光体育活动方案
2014/02/16 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
2014年清明节寄语
2014/04/03 职场文书
科技工作者先进事迹
2014/08/16 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
运动员加油词
2015/07/18 职场文书
2015年秋学期师德师风建设工作总结
2015/10/23 职场文书
高中物理教学反思
2016/02/19 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS
MySQL慢查询的坑
2021/04/28 MySQL