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写冒泡排序代码
Apr 12 Python
Python解惑之True和False详解
Apr 24 Python
在Python dataframe中出生日期转化为年龄的实现方法
Oct 20 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
celery4+django2定时任务的实现代码
Dec 23 Python
python 检查是否为中文字符串的方法
Dec 28 Python
浅谈Python中函数的定义及其调用方法
Jul 19 Python
Python reversed函数及使用方法解析
Mar 17 Python
Python3 shelve对象持久存储原理详解
Mar 23 Python
Python自动发送和收取邮件的方法
Aug 12 Python
python利用paramiko实现交换机巡检的示例
Sep 22 Python
python-jwt用户认证食用教学的实现方法
Jan 19 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 curl模拟登录带验证码的网站
2015/11/30 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
jquery下json数组的操作实现代码
2010/08/09 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
2015/07/27 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
python三引号如何输入
2020/07/06 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
我未来的职业规划范文
2014/01/11 职场文书
大学生入党思想汇报
2014/01/14 职场文书
中青班党性分析材料
2014/02/16 职场文书
青春励志演讲稿
2014/04/29 职场文书
节能环保演讲稿
2014/08/28 职场文书
工程索赔意向书
2014/08/30 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书
暑期家教宣传单
2015/07/14 职场文书
初三英语教学反思
2016/02/15 职场文书
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python