python进程池中的回调函数

什么是回调函数

指定一个任务后、并且指定一个回调函数后,当指定的进程池执行的任务结束后,会将该任务的返回值作为回调函数的参数传递到回调函数中,并且回调函数得以执行

回调函数在主进程中被执行

 import os
 from multiprocessing import Pool


 def func1(n):
     print('in func1', os.getpid())
     return n * n

 def func2(nn):
     print('in func2 %s ' % os.getpid())
     print(nn)

 if __name__ == '__main__':
     pool = Pool(4)
     pool.apply_async(func1, args=(10, ), callback=func2)    # calback为回调参数,可以指定一个回调函数,这里指定回调函数为func2
     pool.close()
     pool.join()
     print(os.getpid())

10个任务func1投入到含有4个进程的进程池中异步执行,并且指定回调函数为func2,当投入到进程池中的每个任务执行完后,都会将返回值作为参数返回给回调函数,并且回调函数在主进程得以执行
执行了10次func1、10次func2

from multiprocessing import Pool

def func1(n):
    print('in func1')
    return n * n

def func2(nn):
    print('in func2')
    print(nn)

if __name__ == '__main__':
    pool = Pool(4)
    for i in range(10):
        pool.apply_async(func1, args=(10, ), callback=func2)    # calback为回调参数,可以指定一个回调函数,指定进程池执行的任务结束后,会将任务的返回值作为参数传递给回调函数,并执行回调函数,回调函数是在主进程中得以执行的
    pool.close()
    pool.join()

一般在爬虫中,用到回调函数比较多,并且是将访问网页、下载网页的过程放到子进程中去做,分析数据,处理数据让回调函数去做,因为访问网页与下载网页有网络延时,而处理数据只占用很小的时间

原文链接:https://www.cnblogs.com/xxpythonxx/p/17321346.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python进程池中的回调函数 - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • 用Python程序抓取网页的HTML信息的一个小实例

    抓取网页的HTML信息是Python爬虫的基础,本文将介绍如何使用Python程序抓取网页的HTML信息的一个小实例。我们将使用Python的requests库和BeautifulSoup库来实现这个目标。 步骤1:安装必要的库 在使用Python程序抓取网页的HTML信息之前,我们需要安装必要的库。我们将使用以下库: requests:用于发送HTTP请求…

    python 2023年5月15日
    00
  • Python脚本实现自动登录校园网

    请看下面我为您详细讲解Python脚本实现自动登录校园网的完整攻略。 一、准备工作 1.1 确认登录方式 要实现自动登录校园网,首先要确认校园网的登录方式,一般来说有以下几种: 基于Web表单的登录:需要提交表单(一般是POST请求)来完成登录。 基于二维码的登录:需要将二维码输入到APP或者微信中才能完成登录。 基于HTTP Basic认证的登录:需要在请…

    python 2023年5月19日
    00
  • python编写简易聊天室实现局域网内聊天功能

    下面是详细讲解 “Python编写简易聊天室实现局域网内聊天功能” 的完整攻略。 1. 确定需求 在开始编写简易聊天室之前,首先需要明确需求,包括: 局域网内聊天:聊天室应该只能在局域网内使用,不能通过互联网访问。 实现简单:聊天室应该实现基本的聊天功能,同时代码实现应该尽可能简单。 支持多人聊天:聊天室应该支持多人同时聊天,任何人发出的消息都应该在所有人的…

    python 2023年6月6日
    00
  • Python实现图像随机添加椒盐噪声和高斯噪声

    针对题目“Python实现图像随机添加椒盐噪声和高斯噪声”的完整攻略,可以分为以下步骤: 第一步:读取图像并进行预处理 在Python中,可以使用OpenCV库来读取图像,并对图像进行预处理,如调整图像大小、改变图像颜色空间等。在读取图像时,建议采用灰度图像读取方式,便于后续噪声生成和处理。示例代码如下: import cv2 # 读取灰度图像 img = …

    python 2023年6月3日
    00
  • python中如何使用函数改变list

    以下是详细讲解“Python中如何使用函数改变list”的完整攻略。 在Python中,可以使用函数来改变list。本文将介绍两种常用的函数:append()和extend()。 方法一:使用append() 可以使用append()函数向list中添加元素。例如: lst = [1, 2, 3] lst.append(4) print(lst) # 输出[…

    python 2023年5月13日
    00
  • python中对list去重的多种方法

    在Python中,对于一个列表(List)中的元素,可能会存在重复的情况。为了去除列表中的重复元素,可以使用多种方法本文将详细讲解Python中对List去重的多种方法,包括使用set()函数、使用列表推式、使用字典等方法。 方法一:使用set()函数 set()函数是Python中的一个内置函数,可以于创建一个无序不重元素集,可以用于去除列表的重复元素。例…

    python 2023年5月12日
    00
  • python用分数表示矩阵的方法实例

    下面是详细讲解“python用分数表示矩阵的方法实例”的完整攻略: 1. 引言 在 Python 程序中,我们需要进行各种数值计算,其中矩阵计算是一种比较常见的操作。在表示矩阵时,我们一般使用 NumPy 进行处理。然而,由于计算机的精度限制,当矩阵中的元素较大时,直接使用浮点数可能会存在精度问题,进而影响计算结果。为了避免这个问题,我们可以使用分数表示矩阵…

    python 2023年6月6日
    00
  • python常用知识梳理(必看篇)

    以下是“Python常用知识梳理(必看篇)”的完整攻略,其中包括了变量、数据类型、运算符、条件语句、循环语句、函数、模块、异常处理等内容。同时,我也会提供两个示例来说明如何使用这些知识点。 Python常用知识梳理(必看篇) Python是一种高级编程语言,具有简单易学、读性强、功能强大等特点。本文将介绍Python的常用知识,包括变量、数据类型、运算符、条…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部