iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python模块整理(五):多进程mul
  • 890
分享到

Python模块整理(五):多进程mul

模块进程Python 2023-01-31 02:01:41 890人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

线程共享全局状态,进程完全独立。线程局限在一个处理器,线程可以发挥多个处理器的资源. 没有找到processing模块只找到multiprocessing #!/usr/bin/env python from

线程共享全局状态,进程完全独立。线程局限在一个处理器,线程可以发挥多个处理器的资源.
没有找到processing模块只找到multiprocessing
#!/usr/bin/env python
from multiprocessing import Process,Queue
import time
q=Queue()

def f(q):
        x=q.get()
        print "Process number %s,sleeps for %s second" % (x,x)
        time.sleep(x)
        print "Process number %s finished" % x

for i in range(10):
        q.put(i)
        i=Process(target=f,args=[q])
        i.start()

print "main process joins on queue"
i.join()
print "Main Program finished"

多进程ping扫描
#!/usr/bin/env Python
import subprocess
import time
import sys
from multiprocessing import Process,Queue
#multiprocessing 本身带有的Queue
num_Process=50
queue=Queue()

ips=['172.18.10.101','172.18.10.102','172.18.10.103','172.18.10.104','172.18.10.105']

def pinger(i,q):
        while True:
                if q.empty(): #增加:Process增加了查看列队是否为空
                        sys.exit()
                ip=q.get() #一样:取得队列内容threading和multiprocessing.Process一样,获取put过来的ip
                print "Process Numer: %s" % i
                ret=subprocess.call("ping -c 1 %s" % ip,shell=True,stdout=open('/dev/null','w'),stderr=subprocess.STDOUT)
                if ret==0:
                        print "Process Numer %s ping:%s is alive" % (i,ip)
                else:
                        print "Process Numer: %s did not find a response for %s" % (i,ip)
                #减少:没有threading的queue.task_done()
for ip in ips:
        queue.put(ip)  #一样:放入队列内容threading.Thread和multiprocessing.Process一样
#顺序很重要,需要先put ip
for i in range(num_Process):
        worker=Process(target=pinger,args=[i,queue]) #减少:没有threading.Thread的worker.setDaemon(True)
        worker.start()

print "Main joins on queue"
worker.join() #变化:由threading.Thread队列queue的join方法变成了multiprocessing.Process实例的join方法
print "Done"


multiprocessing.Process和threading.Thread比较
multiprocessing.Process没有的
queue.task_done() 
worker.setDaemon(True)   
两者都有的
queue.put(ip)
queue.get()
有方法但变化了的
queue.join() 变成了 worker.join()#队列的连接变成进行实例的连接
multiprocessing.Process增加了的(threading.Thread没有的)
queue.empty():

--结束END--

本文标题: Python模块整理(五):多进程mul

本文链接: https://www.lsjlt.com/news/186494.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python模块整理(五):多进程mul
    线程共享全局状态,进程完全独立。线程局限在一个处理器,线程可以发挥多个处理器的资源. 没有找到processing模块只找到multiprocessing #!/usr/bin/env python from ...
    99+
    2023-01-31
    模块 进程 Python
  • Python模块整理(六):守护进程
    守护进程三个特征:在后台运行,与启动它的进程脱离,无须控制终端。 >>> def run(program, *args): ...     pid = os.fork() ...     if...
    99+
    2023-01-31
    模块 进程 Python
  • subprocess—Python多进程模块
    subprocess—Python多进程模块 1.概述 这篇文章介绍并行运算中的subprocess模块,subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取...
    99+
    2023-09-03
    python linux 运维
  • Python random模块用法整理
    随机数在计算机科学领域扮演着重要的角色,用于模拟真实世界的随机性、数据生成、密码学等多个领域。Python 中的 random 模块提供了丰富的随机数生成功能,本文整理了 random 模块的使用。 ...
    99+
    2023-09-02
    python random
  • python子进程模块subproce
    属性1.Popen.poll():用于检查子进程是否已经结束。设置并返回returncode属性。2.Popen.wait():等待子进程结束。设置并返回returncode属性。3.Popen.communicate(input=None...
    99+
    2023-01-31
    模块 进程 python
  • Python 常用系统模块整理
    Python中的常用的系统模块中部分函数等的整理 random: 随机数 sys: 系统相关 os: 系统相关的 subprocess: 执行新的进程 multiprocessing: 进程相关 threading: 线程相关 pick...
    99+
    2023-01-30
    模块 常用 系统
  • 第十五章 Python多进程与多线程
    15.1 multiprocessingmultiprocessing是多进程模块,多进程提供了任务并发性,能充分利用多核处理器。避免了GIL(全局解释锁)对资源的影响。有以下常用类:类描述Process(group=None, targe...
    99+
    2023-01-31
    十五章 多线程 进程
  • python 多线程模块threadpo
      python实现线程池通常使用threading或thread模块来编写,现在已经有了threadpool模块来实现线程池。英文文档见:http://www.chrisarndt.de/projects/threadpool/中文文档见...
    99+
    2023-01-31
    多线程 模块 python
  • Python 多线程之 threading 模块
    在之前的文章中,我们已经介绍了 Python 通过 _thread 和 threading 模块提供了对多线程的支持,threading 模块兼具了 _thread 模块的现有功能,又扩展了一些新的功能,具有十分丰富的线程操作功能,本节我们...
    99+
    2023-09-16
    python 开发语言 java
  • Python pygame(GUI编程)模块最完整教程(1)
    提示:下滑文章左侧可以查看目录!本教程分为多篇,总目录如下。  总目录: README.md · Python-ZZY/Python-Pygame最完整教程 - Gitee.com 1 初识pygame 1.1 简介 pygame是...
    99+
    2023-09-02
    pygame python
  • Python tkinter(GUI编程)模块最完整教程(上)
    提示:下滑文章左侧可以查看目录! 1 走进tkinter世界 1.1 认识tkinter tkinter是一个GUI开发模块,是Tcl/Tk语言在Python上的接口,可以在大部分操作系统上运行。tkinter非常的简单而且好用。tkint...
    99+
    2023-08-31
    python 开发语言
  • Python中的进程操作模块(multiprocess.process)
    目录一、multiprocess模块二、multiprocess.process模块1、使用process模块创建进程1 在Python中启动的第一个子进程2、 查看主进程和子进程的...
    99+
    2024-04-02
  • python中thread模块实现多线程
    这篇文章将为大家详细讲解有关python中thread模块实现多线程,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Pyt...
    99+
    2023-06-14
  • Python多线程编程之threading模块详解
    目录一、介绍二、Python如何创建线程2.1 方法一:2.2 方法二:三、线程的用法3.1 确定当前的线程3.2 守护线程3.3 控制资源访问一、介绍 线程是什么?线程有啥用?线程...
    99+
    2024-04-02
  • Python 多线程之threading 模块的使用
    目录简介 创建线程 构造器方式 继承方式 守护线程 线程本地数据 定时器 简介 Python 通过 _thread 和 threading 模块提供了对多线程的支持,threadi...
    99+
    2024-04-02
  • python基于concurrent模块实现多线程
    目录引言       操作多线程/多进程 1、创建线程池 2、submit 3、map 4、wait 5、异常处理 引言&...
    99+
    2024-04-02
  • Node.js进程管理之Process模块详解
    在前面Node.js事件运行机制也有提到,Node.js应用在单个线程运行,但是现在大部分服务器都是多处理器,为了方便使用多个进程,Node.js提供了3个模块。Process模块提...
    99+
    2024-04-02
  • python thread模块怎么实现多线程
    这篇文章主要介绍“python thread模块怎么实现多线程”,在日常操作中,相信很多人在python thread模块怎么实现多线程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python thread...
    99+
    2023-06-30
  • Python多线程中Queue模块怎么用
    这篇文章将为大家详细讲解有关Python多线程中Queue模块怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。queue介绍queue是python中的标准库,俗称队列,可以直接import 引用,在...
    99+
    2023-06-20
  • Python利用jmespath模块进行json数据处理
    jmespath是python的第三方模块,是需要额外安装的。它在python原有的json数据处理上 做出了很大的贡献,至于效果接下来试试就知道了有多方便。 话不多说,我们直接进入...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作