Python3-异步进程回调函数(callback())介绍

 更新时间:2020年05月02日 09:38:29   转载 作者:Arthur54271  
这篇文章主要介绍了Python3-异步进程回调函数(callback())介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

废话不多说,大家之家看代码吧!

#异步
'''
举例:
你喊你朋友吃饭,你朋友正忙,
如果你一直在那等他,等你朋友忙完了,你们一块去。--同步调用

你喊你朋友吃饭,你朋友正忙,
如果你自己做你自己的事,你朋友忙完,找到你,一块去吃饭。--异步调用

'''
# 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实现通过队列完成进程间的多任务功能示例

    这篇文章主要介绍了python实现通过队列完成进程间的多任务功能,结合实例形式分析了Python队列完成进程间的多任务以及进程池pool相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • python入门之井字棋小游戏

    python入门之井字棋小游戏

    这篇文章主要为大家详细介绍了python入门学习之井字棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • python基础教程之类class定义使用方法

    python基础教程之类class定义使用方法

    Python中的类(Class)是一个抽象的概念,比函数还要抽象,这也就是Python的核心概念,面对对象的编程方法(OOP),其它如:Java、C++等都是面对对象的编程语言
    2014-02-02
  • tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)

    tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)

    这篇文章主要介绍了tensorflow 2.1.0 安装与实战(CASIA FACE v5),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Python 时间操作例子和时间格式化参数小结

    Python 时间操作例子和时间格式化参数小结

    这篇文章主要介绍了Python 时间操作例子,例如取前几天、后几天、前一月、后一月等,需要的朋友可以参考下
    2014-04-04
  • 举例详解Python中threading模块的几个常用方法

    举例详解Python中threading模块的几个常用方法

    这篇文章主要介绍了举例详解Python中threading模块的几个常用方法,threading模块用来创建和操作线程,是Python学习当中的重要知识,需要的朋友可以参考下
    2015-06-06
  • 深入理解 Python 中的多线程 新手必看

    深入理解 Python 中的多线程 新手必看

    你应当将下边的例子运行多次,以便可以注意到线程是不可预测的和线程每次运行出的不同结果。声明:从这里开始忘掉你听到过的关于GIL的东西,因为GIL不会影响到我想要展示的东西
    2016-11-11
  • Python实现检测文件的MD5值来查找重复文件案例

    Python实现检测文件的MD5值来查找重复文件案例

    这篇文章主要介绍了Python实现检测文件的MD5值来查找重复文件案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python使用tkinter实现简单计算器

    python使用tkinter实现简单计算器

    这篇文章主要为大家详细介绍了python使用tkinter实现简单计算器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • python数据结构之列表和元组的详解

    python数据结构之列表和元组的详解

    这篇文章主要介绍了python数据结构之列表和元组的详解的相关资料,希望通过本文能帮助到大家,让大家彻底理解掌握这部分内容,需要的朋友可以参考下
    2017-09-09

最新评论