进程(二)

 

import os
import time
from multiprocessing import Process
def func(args,args2):
print(args,args2)
time.sleep(3)
print('子进程 :', os.getpid())
print('子进程的父进程 :', os.getppid())
print(12345)

if __name__ == '__main__':
p = Process(target=func,args=('参数','参数2')) # 注册,一个参数时,应该加逗号,比如(‘参数1’,)
# p是一个进程对象,还没有启动进程
p.start() # 开启了一个子进程
print('*'*10)
print('父进程 :',os.getpid()) # 查看当前进程的进程号
print('父进程的父进程 :',os.getppid()) # 查看当前进程的父进程

 




# 进程的生命周期
# 主进程
# 子进程
# 开启了子进程的主进程 :
# 主进程自己的代码如果长,等待自己的代码执行结束,
# 子进程的执行时间长,主进程会在主进程代码执行完毕之后等待子进程执行完毕之后 主进程才结束

多进程中的几个方法 

 

# join()

import time
from multiprocessing import Process

def func(arg1,arg2):
print('*'*arg1)
time.sleep(5)
print('*'*arg2)

if __name__ == '__main__':
p = Process(target=func,args=(10,20))
p.start()
print('hahahaha')与fun方法执行是异步的
p.join() # 是感知一个子进程的结束,将异步的程序改为同步
print('====== : 运行完了')与fun同步

    #  开启多个子进程

 

import os
import time
from multiprocessing import Process

def func(filename,content):
with open(filename,'w') as f:
f.write(content*10*'*')

if __name__ == '__main__':
p_lst = []
for i in range(10):
p = Process(target=func,args=('info%s'%i,0))
p_lst.append(p)
p.start()
for p in p_lst:p.join() # 之前的所有进程必须在这里都执行完才能执行下面的代码
# [p.join() for p in p_lst]
print([i for i in os.walk(r'E:\python10\day37')])

# 同步 0.1 * 500 = 50
# 异步 500 0.1 = 0.1
# 多进程写文件
# 首先往文件夹中写文件
# 向用户展示写入文件之后文件夹中所有的文件名

 

 

 

     # 开启多进程的第二种方式

import os
from multiprocessing import Process

class MyProcess(Process):
def __init__(self,arg1,arg2):
super().__init__()因为父类里有_init_方法,需导入实现_init_方法,不然报错
self.arg1 = arg1
self.arg2 = arg2

def run(self):重写run方法,必须是run
print(self.pid)
print(self.name)
print(self.arg1)
print(self.arg2)

if __name__ == '__main__':
p1 = MyProcess(1,2)
p1.start()
p2 = MyProcess(3,4)
p2.start()

# 自定义类 继承Process类
# 必须实现一个run方法,run方法中是在子进程中执行的代码

 

转载于:https://www.cnblogs.com/mys6/p/10822178.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411547.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uushare新增类似美味(del.icio.us)的书签服务

书签是用于收藏网址的一种工具(又称为网络收藏夹),通过它你可以将常访问的网站或平时发现感兴趣的网址收藏起来。 跟浏览器中的收藏夹不同,书签的优点是可以随时随地收藏大量的网址并且便于管理和寻找,同时不用担心因系…

HttpClient系列~StringContent与FormUrlEncodedContent

知识点 本文是一个很另类的文章,在项目中用的比较少,但如果项目中真的出现了这种情况,我们也需要知道如何去解决,对于知识点StringContent和FormUrlEncodedContent我们应该了解的多一点,FormUrlEncodedContent是以键/值…

Javascript乱弹设计模式系列(1) - 观察者模式(Observer)

前言 博客园谈设计模式的文章很多,我也受益匪浅,包括TerryLee、吕震宇等等的.NET设计模式系列文章,强烈推荐。对于我,擅长于前台代码的开发,对于设计模式也有一定的了解,于是我想结合Javascript来设计前台方…

【JS】JS中数值型字符串相加变成拼接字符串的解决方法

一、问题描述 数值型的字符串,通过、 运算符连接后,变成了字符串拼接,而不是数值计算。 先上图: 二、错误原因 这是由于JS中、 运算符既是算术运算符,也是字符串的连接符> 的运算规则是:如果把数字与字符…

安卓JAVA调用lua_android中java与lua的相互调用

Android Studio Lua环境配置开发环境1. Android Studio 3.52. java sdk: 1.8.03.android sdk:28配置环境添加lua支持语法支持插件,打开android studio -> File -> Settings三方库选择参考文章:https://gameinstitute.qq.com/community/…

用ajax(vb.net) 实现dropdownlist二级无刷新联动~!

说说vb.net ajaxpro 实现dropdownlist二级无刷新联动~&#xff01;Code<div class"div_RSL"> <asp:DropDownList ID"DropDownList1" runat"server" DataSourceID"proID" DataTextField"proName"AutoPostBack"…

SQLserver被js注入的全库替换SQL

CodeDECLARE fieldtype sysnameSET fieldtypenvarchar--替换处理DECLARE hCForEach CURSOR GLOBALFOR--要替换的列的数据类型SELECT NUPDATE QUOTENAME(o.name)N set QUOTENAME(c.name)REPLACE(QUOTENAME(c.name),<script srchttp://cn.daxia123.cn/cn.js></script>…

《高性能网站建设指南》勘误

《高性能网站建设指南》勘误 P5&#xff08;第1章&#xff09;倒数第1段倒数第3行原文&#xff1a;如果你遵从所有适用于你的网站的规则&#xff0c;你的页面的加载速度会提高20%~25%&#xff0c;用户体验也将得到改善。修改&#xff1a;如果你遵从所有适用于你的网站的规则&am…

Delphi 与 DirectX 之 DelphiX(35): TDIB.Saturation();

本例效果图:代码文件:unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, DIB, StdCtrls;typeTForm1 class(TForm)DXPaintBox1: TDXPaintBox;Button1: TButton;Button2: TButton;procedure Button1Click(Sender: T…

RabbitMQ基本概念(三)-Centos7下安装RabbitMQ3.6.1

如果你看过前两章对RabbitMQ已经有了一定了解&#xff0c;现在已经摩拳擦掌&#xff0c;来吧动手吧&#xff01; 用什么系统 本文使用的是Centos7&#xff0c;为了保证对linux不太熟悉的伙伴也能轻松上手&#xff08;避免折在安装的路上&#xff09;&#xff0c;下面是我的系统…

pom添加mysql依赖tomcat崩溃_Spring Boot + Mybatis + Spring MVC环境配置(一) :Spring Boot初始化,依赖添加...

最近在搭建一个Spring Boot Mybatis Spring MVC的环境&#xff0c;折腾来折腾去&#xff0c;两三天才搞定&#xff0c;记录下大概过程和遇到的错误看一下Spring Boot官方的介绍&#xff1a;Spring Boot让开发者省去了大多数Spring的配置&#xff0c;让其只需要关注主要的开发…

Jmeter脚本增强之参数化(多方式实现)(6)

参数化的场景&#xff1a; ①在插入记录时&#xff0c;数据库对某些字段唯一限制&#xff0c;这时需要参数化&#xff08;不能传固定参数&#xff09; ②在压测过程中&#xff0c;需要使用不同的用户登录&#xff0c;模拟真实的使用场景&#xff08;避免数据库查询缓存&#xf…

docker学习二

一 部署Mysql 搜索镜像 docker search mysql拉取镜像 docker pull centos/mysql-57-centos7 创建Mysql 容器 docker run -di --namedocker_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORDroot centos/mysql-57-centos733306是宿主机的端口&#xff0c;3306是docker的端口&#xf…

new关键字对类成员的阻断

昨天终于对new关键字对类成员的阻断作用有了比较清晰的认识&#xff0c;“对类成员的阻断”是王涛大哥在其作品《你必须知道的.NET》的说法&#xff0c;昨天在园里看到一位前辈戏称之为“封印咒术”&#xff0c;我感觉这个说法很贴切。比如Sons类继承自Fathers类&#xff0c;在…

LOJ 2979 「THUSCH 2017」换桌——多路增广费用流

题目&#xff1a;https://loj.ac/problem/2979 原来的思路&#xff1a; 优化连边。一看就是同一个桌子相邻座位之间连边、相邻桌子对应座位之间连边。 每个座位向它所属的桌子连边。然后每个人建一个点&#xff0c;向若干桌子连边。 因为连边的桌子是区间&#xff0c;所以线段树…

java如何实现红包雨,一个简单的红包雨实现

效果图如下&#xff1a;我的视频 1_20170207191503.gif这个简单动画的主要思路&#xff1a; 将多个 红包View 通过 属性动画 从屏幕顶端 飘落到 屏幕底部。只不过在飘落的动画过程中&#xff0c;加入了一些随机路线 Path。主要涉及到的知识点&#xff1a;1.Path 和 PathMeasure…

【原】基于Windows Media Player, 写自己的播放器【有源码,可下载整个工程】

最近有客户问我&#xff0c;怎么把Windows Media Player 嵌套在自己的项目中。 以前我在Delphi下玩过Windows Media Player&#xff0c;可是在Microsoft Visual Studio 2008 没有测试过。 到网上搜索了一把&#xff0c;果然得到很多例子。 其中CSDN上有个例子写的不错&#xff…

Oracle数据库php短连接,PHP 连接 Oracle

起因由于项目的数据库需要用客户购买的Oracle数据库&#xff0c;所以需要php安装oci扩展。运行环境php : 7.2系统: windows10oracle: 11gR2安装相关环境由于php的oci8扩展还是需要使用到oracle的一些包&#xff0c;所以先下载这一些。下载完成后解压缩这个压缩包&#xff0c;并…

计算机考研文章精选[转载]

今天在网上看到了一篇超全的计算机考研文章集合&#xff0c;里面有很多曾经看过&#xff0c;挺经典的&#xff0c;于是忍不住收藏下来&#xff0c;希望对那些即将报考计算机研究生和工作了仍不放弃考研的朋友有所帮助 计算机考研常见问题解答 地址&#xff1a;http://ww…

PHP鼠标滑过变色命令,WordPress鼠标悬停变色的修改方法

原创内容&#xff0c;转载请注明出处&#xff1a;https://www.myzhenai.com.cn/post/3253.html关键词&#xff1a;wordpress 鼠标 悬停 变色我总是觉得我两个WordPress博客的主题里使用的鼠标悬停变色的颜色不太喜欢&#xff0c;就是当鼠标划过或停留在某一个链接上的时候&…