python进程简单操作

2023-11-06

1.用进程实现类似定时器的功能
import multiprocessing

import time


def clock(interval):

    while True:

        print "The time is {0}".format(time.ctime())

        time.sleep(interval)
        
     
        

if __name__ == "__main__":


    p = multiprocessing.Process(target=clock,args=(3,))

        
    p.start()

    p.join()

2.进程的基本编程

run:如果在创建Process对象的时候不指定target,那么就会默认执行Process的run方法:

#encoding:utf-8
from multiprocessing import Process
import os, time, random

def r():
    print ‘run method‘
    
if __name__ == "__main__":
        print "main process run..."
        #没有指定Process的targt
        p1 = Process()
        p2 = Process()
        #如果在创建Process时不指定target,那么执行时没有任何效果。因为默认的run方法是判断如果不指定target,那就什么都不做
        #所以这里手动改变了run方法
        p1.run = r
        p2.run = r
        
        p1.start()
        p2.start()
        p1.join()
        p2.join()
        print "main process runned all lines..."

最上面演示的代码中,在调用Process的start方法后,调用了两次join方法。这个join方法是干什么的呢?
官方文档的意思是:阻塞当前进程,直到调用join方法的那个进程执行完,再继续执行当前进程。
 
比如还是刚才的代码,只是把两个join注释掉了:
#encoding:utf-8
from multiprocessing import Process
import os, time, random

def r1(process_name):
    for i in range(5):
        print process_name, os.getpid()     #打印出当前进程的id
        time.sleep(random.random())
def r2(process_name):
    for i in range(5):
        print process_name, os.getpid()     #打印出当前进程的id
        time.sleep(random.random())

if __name__ == "__main__":
        print "main process run..."
        p1 = Process(target=r1, args=(‘process_name1‘, )) 
        p2 = Process(target=r2, args=(‘process_name2‘, )) 

        p1.start()
        p2.start()
        #p1.join()
        #p2.join()    
        print "main process runned all lines..."


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python进程简单操作 的相关文章

随机推荐

  • eval(function(p,a,c,k,e,d) javascrip类型代码 解决办法

    eval function p a c k e d e function c return c35 String fromCharCode c 29 c toString 36 if replace String while c d e c
  • 均衡器--时域均衡,频域均衡,无限长迫零(Zero force\ZF)均衡器,有限长时域迫零(ZF)均衡器,无限长MSE均衡器

    均衡器 1 原因 2 线性均衡器 2 1时域均衡 2 2频域均衡 3 均衡器 3 1无限长迫零 Zero force ZF 均衡器 3 2有限长时域迫零 ZF 均衡器 3 3无限长MSE均衡器 4 性能比较 1 原因 之前讨论的是在AWGN
  • 【GitHubShare】适合练习python的编程类网站,可以边学边玩

    非常有意思的编程网站 leetcode pythontip Coding Games Codewars CodeCombat Checkio Cyber Dojo pythonchallenge Code Monkey leetcode l
  • 【Docker】Docker中启动redis

    1 使用命令 docker pull redis 来下载redis镜像 2 通过命令 docker images来查看redis镜像是否安装成功 3 安装成功后通过 docker run name java redis d redis 来运
  • 客户异常数据清洗详细教程——pandas

    前言 在不同行业中 我们经常会遇到一个麻烦的问题 数据清洗 尤其是当我们需要处理客户编码异常数据时 这个问题变得尤为重要 想象一下 许多银行都是以客户为单位管理数据的 因此每个客户都有一个独特的编码 在处理这些数据时 我们常常会面临以下问题
  • 前端常用的CSS工具库

    1 animista 在线查看自己需要的动画效果 比较常用 直接复制代码即可 官网 Animista CSS Animations on Demand 2 Animate css是一个现成的跨浏览器动画工具库 可用于您的 Web 项目 非常
  • 攻防世界:command_execution

    首先掌握命令执行漏洞 Command Execution 的知识 命令执行漏洞即使用者可以直接在Web应用中执行系统命令 从而获取敏感信息或者拿下shell权限 其造成的原因是Web服务器对用户输入命令安全检测不足 比如没加waf 导致恶意
  • matlab 指定坐标轴,matlab设置坐标轴范围

    设置x轴和y轴为想要的显示范围 可以使用set函数 以x轴的显示范围为0到10 y轴的显示范围为90到101为例 设置x轴范围和刻度 set gca XLim 0 10 X轴的数据显示范围 set gca XTick 0 1 10 设置要显
  • Flutter键盘遮挡输入框问题

    以下代码是在网上看到的 忘记具体的出处了 请谅解 作者 Created by H on 2019 1 23 11 08 介绍 解决输入框被遮挡问题 import package flutter material dart import pa
  • C++面向对象设计原则学习笔记

    原则一 依赖倒置原则 DIP 高层模块 稳定 不应该依赖于底层模块 变化 二者都应该依赖于抽象 稳定 抽象 稳定 不应该依赖于实现细节 变化 实现细节应该依赖于抽象 稳定 原则二 开放封闭原则 OCP 对外扩展开放 对更改封闭 类模块应该是
  • 取模!了解一下!

    嘤嘤嘤 快速幂取模都不会了 自闭了 取模运算 Modulo Operation 和取余运算 Complementation 两个概念有重叠的部分但又不完全一致 主要的区别在于对负整数进行除法运算时操作不同 取模主要是用于计算机术语中 取余则
  • 面向对象-继承

    继承 概念 继承父类的属性和行为 使得子类对象可以直接具有与父类相同的属性 相同的行为 子类可以直接访问父类中的非私有的属性和行为 继承是多态的前提 如果没有继承 就没有多态 特点 java只能单继承 但可以多层继承 a继承b b继承c 那
  • kafkatemplate无法注入_Spring Boot和Kafka实战自定义复杂配置示例

    这篇博客文章展示了如何配置Spring Kafka和Spring Boot以使用JSON发送消息并以多种格式接收它们 JSON 纯字符串或字节数组 基于此配置 您还可以将Kafka生成器从发送JSON切换到其他序列化方法 此示例应用程序还演
  • RabbitMQ--基础--10.4--优先级队列

    RabbitMQ 基础 10 4 优先级队列 1 优先级队列 指的是 具有高优先级的队列 优先级高的消息具备优先被消费的特权 可以通过 设置 x max priority 来设置 优先级队列 如果在消费者的消费速度远大于生产者的速度 且 B
  • 机票预订系统uml类图_产品经理必学UML(二):用例图

    上一篇中介绍了UML中的类图 本篇笔者将与大家介绍UML中的用例图的三个方面内容 用例 Use Case 参与者 Actor 参与者 用例之间的关系 用例图 Use Case Diagrame 描述了人们希望如何使用一个系统 将相关用户 用
  • java listnode 合并链表_java实现两个有序单链表合并

    本次分享的事两个有序单链表的合并 遍历方法递归 非递归 节点类 auther lawt date 2018 11 4 08 Description 结点信息 public class Node 为了方便 这两个变量都使用public 而不用
  • ESP8266如何使用u8g2(I2C)驱动SH1106的OLED

    u8g2是一款单色图形库 非常适合12864之类的显示屏 基本上支持了市面上的主流显示控制器 可是偏偏对SH1106不是那么友好 使用起来不是很方便 打开IDE的示例程序可以看到对SH1106列出来的几乎都SPI通信方式 仅仅只有一条是使用
  • Collection集合类和Map接口各实现类详解

    Java的集合类 collection接口和Map 一 集合概述 集合 集合是java中提供的一种容器 可以用来存储多个数据 集合和数组既然都是容器 它们有啥区别呢 数组的长度是固定的 集合的长度是可变的 数组中存储的是同一类型的元素 可以
  • RHEL 6.1 KVM虚拟机桥接物理机网络

    RHEL6 1 KVM虚拟机桥接物理机网络 一 KVM默认网络配置 1 kvm上网有两种配置 a NAT 支持主机与虚拟机的互访 也支持虚拟机访问互联网 但不支持外界访问虚拟机 b bridge 桥接 可以使用虚拟机成为网络中具有独立IP的
  • python进程简单操作

    1 用进程实现类似定时器的功能 import multiprocessing import time def clock interval while True print The time is 0 format time ctime t