multiprocess模块

multiprocess模块

从字面意思理解就是:多进程模块,具体来讲是python中一个操作、管理进程的包

process模块

process模块是一个创建进程的模块,借助这个模块,可以完成进程的创建

import os ,time
from multiprocessing import Process
def process1():
    print(‘process1:‘,os.getppid())
    time.sleep(1)

print(os.getppid())
if __name__ == ‘__main__‘: #这里不写会报错,在mac系统和linux系统不写可以
    # 在Windows操作系统中由于没有fork(linux操作系统中创建进程的机制),在创建子进程的时候会自动
    # import 启动它的这个文件,而在
    # import 的时候又执行了整个文件。因此如果将process()
    # 直接写在文件中就会无限递归创建子进程报错。所以必须把创建子进程的部分使用if
    # __name__ ==‘__main__’ 判断保护起来,import 的时候 ,就不会递归运行了。
    p=Process(target=process1) #调用函数
    p.start() #启动函数

给process传参数

import os
import time
from multiprocessing import Process
def process1(n,name):
    print(‘process1:‘,os.getppid())
    print(‘n:‘,n,name)
    time.sleep(1)

if __name__ == ‘__main__‘:
    print(os.getppid())  # 获取当前进程id
    p = Process(target=process1,args=[1,‘alex‘])  # 调用函数并传参
    p.start()  # 启动进程

原文地址:https://www.cnblogs.com/mmyy-blog/p/9392272.html

时间: 2024-11-02 00:51:40

multiprocess模块的相关文章

Python multiprocess模块

multiprocess模块 一. Process模块介绍 1. 直接使用Process模块创建进程 (1)主进程和子进程 (2)if __name__ == "main"语句 2. Process模块参数介绍 函数传参的两种方式 3. Process模块方法介绍 (1)join方法的使用 (2)for循环开启多个进程 4. Process模块属性介绍 5. 在windows中必须把Process()放到if __name__ == "main"语句下 二. Pro

并发编程之进程,多路复用,multiprocess模块

并发 1. 背景知识 2. 什么是进程 3. 进程调度 4. 并发与并行 5 同步\异步\阻塞\非阻塞(重点) 6.multiprocess模块 7.僵尸进程与孤儿进程 1.背景知识 一操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理.调度进程,并且将多个进程对硬件的竞争变得有序 二 多道技术:1.产生背景:针对单核,实现并发ps:现在的主机一般是多核,那么每个核都会利用多道技术有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个

multiprocess模块补充

进程间通信--队列和管道(multiprocess.Queue.multiprocess.Pipe) 在电脑的多个进程中,他们之间要想通讯需要使用IPC协议(Inter-Process Communication) Queue([maxsize]) 创建共享的进程队列. 参数 :maxsize是队列中允许的最大项数.如果省略此参数,则无大小限制. 底层队列使用管道和锁定实现. Queue([maxsize]) 创建共享的进程队列.maxsize是队列中允许的最大项数.如果省略此参数,则无大小限制

铁乐学python_Day39_多进程和multiprocess模块2

锁 -- multiprocess.Lock (进程同步) 之前我们千方百计实现了程序的异步,让多个任务可以同时在几个进程中并发处理, 但是它们之间的运行没有顺序,一旦开启也不受我们控制. 尽管并发编程能让我们更加充分的利用IO资源,但是也会带来新的问题. 当多个进程使用同一份数据资源的时候,就会引发数据安全或顺序混乱问题. 遇到数据.安全比速度重要的场景,我们就需要将进程变回受同步控制. 例: #!/usr/bin/env python # _*_ coding: utf-8 _*_ impo

Python multiprocess模块(下)

主要内容: 一. 锁 二. 信号量 三. 事件 通过event来完成红绿灯模型 四. 队列(重点) 队列实现进程间的通信 五. 生产者消费者模型 1. 初始版本(程序会阻塞住) 2. 升级版本一(通过抛出异常信号的方式结束进程) 3. 升级版本二(通过发送结束信号的方式结束进程) 第一种: 生产者发结束信号 第二种: 主进程发结束信号 4. 升级版本三(有多个消费者和生产者的时候需要发送多次结束信号) 六. JoinableQuene实现生产者消费者模型 一. 进程同步(锁) 在之前muitip

队列,event,multiprocess

队列:queue queue is especially useful in threaded programming when information must be exchanged safely between multiple threads. 有三种队列模式 class queue.Queue(maxsize=0) #先入先出 class queue.LifoQueue(maxsize=0) #last in fisrt out  class queue.PriorityQueue(

python中multiprocessing模块

multiprocess模块那来干嘛的? 答:利用multiprocessing可以在主进程中创建子进程. #该模块和Threading模块使用方法基本类似. 首先需要说明,你所使用多线程的函数不能有return,比如你要将job这个函数多线程那么在job这个函数里就不能有return,如果有返回值请看文章的最后. multiprocessing最好写在if __name__ == '__main__'当中,如果不放在这里面,windows可能会出错.其余环境则不会出现这种情况.我第一个案例没有

Python基础31_multiprocess模块.锁.队列

一. multiprocess模块 仔细说来,multiprocess不是一个模块而是python中一个操作.管理进程的包. 之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含了和进程有关的所有子模块.由于提供的子模块非常多,为了方便大家归类记忆,我将这部分大致分为四个部分:创建进程部分,进程同步部分,进程池部分,进程之间数据共享.重点强调:进程没有任何共享状态,进程修改的数据,改动仅限于该进程内,但是通过一些特殊的方法,可以实现进程之间数据的共享. 1. Process

Python程序中的进程操作-开启多进程(multiprocess.process)

目录 一.multiprocess模块 二.multiprocess.process模块 三.process模块介绍 3.1 方法介绍 3.2 属性介绍 3.3 在windows中使用process模块的注意事项 四.使用process模块创建进程 4.1 在Python中启动的第一个子进程 4.2 join方法 4.3 查看主进程和子进程的进程号 4.4 多个进程同时运行 4.5 多个进程同时运行,再谈join方法(1) 4.6 多个进程同时运行,再谈join方法(2) 4.7 通过继承Pro