多进程 Multiprocessing 模块

先看看下面的几个方法:

  • star() 方法启动进程,
  • join() 方法实现进程间的同步,等待所有进程退出。
  • close() 用来阻止多余的进程涌入进程池 Pool 造成进程阻塞。

参数:

  • target 是函数名字,需要调用的函数
  • args 函数需要的参数,以 tuple 的形式传入

用法:

multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)

写一个的例子:

from multiprocessing import Pool
import os,time

def pr(str):
    print("The " + str + " is %s" %(os.getpid()))
    time.sleep(1)
    print("The " + str + " is close")

if __name__ == "__main__":

    print('-------------------------------')
    print("the current pid: "+ str(os.getpid()))
    # 默认为自己电脑的核数
    p = Pool(2)
    for i in range(5):
        p.apply_async(pr,args=('xdxd',))
    p.close()
    p.join()
    print("----------close-----------------")

通过结果可以看出,是2个进程同时启动,同时启动的进程数与pool中设置的数量和自己电脑的核数有关

结果:

-------------------------------
the current pid: 9562
The xdxd is 9563
The xdxd is 9564
The xdxd is close
The xdxd is close
The xdxd is 9563
The xdxd is 9564
The xdxd is close
The xdxd is close
The xdxd is 9563
The xdxd is close
----------close-----------------

多进程Multiprocessing模块的更多相关文章

  1. python多进程multiprocessing模块中Queue的妙用

    最近的部门RPA项目中,小爬为了提升爬虫性能,使用了Python中的多进程(multiprocessing)技术,里面需要用到进程锁Lock,用到进程池Pool,同时利用map方法一次构造多个proc ...

  2. python之多进程multiprocessing模块

    process类介绍 multiprocessing 模块官方说明文档 Process 类用来描述一个进程对象.创建子进程的时候,只需要传入一个执行函数和函数的参数即可完成 Process 示例的创建 ...

  3. python 3 并发编程之多进程 multiprocessing模块

    一 .multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程. ...

  4. 多进程 multiprocessing 模块进程并发Process;Pool ;Queue队列 、threading模块;

    multiprocessing 模块中的 Process类提供了跨平台的多进程功能,在windows和linux系统都可以使用. 1.首先要实例化一个类,传入要执行的函数. 实例名 = Process ...

  5. Python(多进程multiprocessing模块)

    day31 http://www.cnblogs.com/yuanchenqi/articles/5745958.html 由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分 ...

  6. python 多进程multiprocessing 模块

    multiprocessing 常用方法: cpu_count():统计cpu核数 multiprocessing.cpu_count() active_children() 获取所有子进程 mult ...

  7. python3 multiprocessing 模块

    多进程 Multiprocessing 模块 multiprocessing 模块官方说明文档 Process 类 Process 类用来描述一个进程对象.创建子进程的时候,只需要传入一个执行函数和函 ...

  8. 使用multiprocessing模块创建多进程

    # 使用multiprocessing模块创建多进程 # multiprcessing模块提供了一个Process类来描述一个进程对象. # 创建子进程时,只需要传入一个执行函数和函数的参数,即可完成 ...

  9. 多进程编程——理论讲解与 multiprocessing 模块

    多进程编程 import os pid = os .fork() 功能 :创建新的进程 参数: 无 返回值 :失败返回一个负数 成功:在原有进程中返回新的进程的PID号 在新进程中返回为0* 子进程会 ...

随机推荐

  1. RTMPdump(libRTMP) 源代码分析 5: 建立一个流媒体连接 (NetConnection部分)

    ===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: ...

  2. Smali语法汇总(一)

    Opcode 操作码(hex) Opcode name 操作码名称 Explanation 说明 Example 示例 00 nop 无操作 0000 - nop 01 move vx, vy 移动v ...

  3. BCD码转十进制C语言实现

    #include <stdio.h> #include <stdlib.h> #define uchar unsigned char uchar BCD_Decimal(uch ...

  4. python 内置标准库socketserver模块的思考

    socketserver模块简化了编写网络服务器的任务, 在很大程度上封装了一些操作, 你可以看成是事件驱动型的设计, 这很不错.它定义了两个最基本的类--服务器类 BaseServer, 请求处理类 ...

  5. sql语句查询表中重复字段以及显示字段重复条数

    今天跟大家分享两条SQL语句,是关于查询某表中重复字段以及显示该字段的重复条数. 1.select * from 表名 where 列名 in (select 列名 from 表名 group by ...

  6. Form 和 Input 对象

    更改表单的 action 属性 <html> <head> <script type="text/javascript"> function c ...

  7. windows安装weblogic和域的建立

    Copyright ©2014 Manchester United

  8. Read程序员的困境有感

    看完这篇文章,我真的害怕了,码农遍地都是,我就是,改变从今天做起,不走码农生活 首先, 打造你自己的私人项目.你需要不断地打磨自己的技艺.如果工作本身并不能帮助你做到这一点,就捡起那些你感兴趣的问题, ...

  9. storm中的Scheduler

    Scheduler是storm的调度器,负责为topology分配当前集群中可用的资源.Storm分别提供了3中调度器: EvenScheduler:会将系统中的可用资源均匀地分配给当前需要任务分配的 ...

  10. [ SSH框架 ] Hibernate框架学习之四(JPA)

    一.JPA概述以及它和Hibernate之间的关系 1.1.Hibernate 概述 JPA Java Persistence API,是EJB3规范中负责对象持久化的应用程序编程接口(ORM接口), ...