Python--day37--多进程
1,创建多进程(父进程和子进程)
import os
import time
#多进程都要导入multiprocessing
from multiprocessing import Process def func(args, args2):
print(args, args2)
time.sleep(1)
print('子进程:', os.getpid())
print('子进程的父进程:', os.getpid())
print(12345) if __name__ == '__main__':
#args是一个元组,传一个参数的时候要在后面加逗号,如args=(54321,)
p = Process(target = func, args=('参数','参数2')) #注册
#p是一个进程对象,还没有启动进程
p.start() #开启了一个子进程
print('*'*10)
print('父进程:', os.getpid()) #查看当前进程的进程号
print('父进程的父进程:', os.getppid()) #查看当前进程的父进程的进程号
运行结果:
2、进程的生命周期:
3,多个进程同时开始:
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()
p1 = Process(target=func, args=(10, 20))
p1.start()
p2 = Process(target=func, args=(10, 20))
p2.start()
p3 = Process(target=func, args=(10, 20))
p3.start()
运行结果:
4,开启多进程的第二种方法:
#自定义类 继承Precess类
#必须事项一个run方法,run方法中是在子进程中执行的代码
例1:
import os
from multiprocessing import Process class MyProcess(Process):
def run(self):
print(os.getpid()) if __name__ == '__main__':
print('主 :', os.getpid())
p1 = MyProcess()
p1.start()
p2 = MyProcess()
p2.start() #自定义类 继承Precess类
#必须事项一个run方法,run方法中是在子进程中执行的代码
例2:
import os
from multiprocessing import Process class MyProcess(Process):
def __init__(self,arg1,arg2):
super().__init__()
self.arg1 = arg1
self.arg2 = arg2 def run(self):
print(self.pid)
print(self.name)
print(self.arg1)
print(self.arg2) if __name__ == '__main__':
# print('主 :', os.getpid())
#实例化:类名跟括号
p1 = MyProcess(1,2)
p1.start()
p2 = MyProcess(3,4)
p2.start()
Python--day37--多进程的更多相关文章
- 【python】多进程锁multiprocess.Lock
[python]多进程锁multiprocess.Lock 2013-09-13 13:48 11613人阅读 评论(2) 收藏 举报 分类: Python(38) 同步的方法基本与多线程相同. ...
- Python实现多进程
Python可以实现多线程,但是因为Global Interpreter Lock (GIL),Python的多线程只能使用一个CPU内核,即一个时间只有一个线程在运行,多线程只是不同线程之间的切换, ...
- 『Python』多进程处理
尝试学习python的多进程模组,对比多线程,大概的区别在: 1.多进程的处理速度更快 2.多进程的各个子进程之间交换数据很不方便 多进程调用方式 进程基本使用multicore() 进程池优化进程的 ...
- python 使用多进程实现并发编程/使用queue进行进程间数据交换
import time import os import multiprocessing from multiprocessing import Queue, pool ""&qu ...
- Python多线程多进程
一.线程&进程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程, ...
- python中多进程+协程的使用以及为什么要用它
前面讲了为什么python里推荐用多进程而不是多线程,但是多进程也有其自己的限制:相比线程更加笨重.切换耗时更长,并且在python的多进程下,进程数量不推荐超过CPU核心数(一个进程只有一个GIL, ...
- Python的多进程
这里不说其它,Python的多进程网上已经有很多了,可以尽情搜索.但是用多进程一般是采用对任务的方式,所以注意文件锁定.一般采用Pool是比较合适的.给个网友的小代码 from multiproces ...
- 进程,线程,以及Python的多进程实例
什么是进程,什么是线程? 进程与线程是包含关系,进程包含了线程. 进程是系统资源分配的最小单元,线程是系统任务执行的最小单元. 打个比方,打开word,word这个程序是一个进程,里面的拼写检查,字数 ...
- 进程与线程(2)- python实现多进程
python 实现多进程 参考链接: https://morvanzhou.github.io/tutorials/python-basic/multiprocessing/ python中实现多进程 ...
- Python多线程多进程那些事儿看这篇就够了~~
自己以前也写过多线程,发现都是零零碎碎,这篇写写详细点,填一下GIL和Python多线程多进程的坑~ 总结下GIL的坑和python多线程多进程分别应用场景(IO密集.计算密集)以及具体实现的代码模块 ...
随机推荐
- vue中is的作用和用法
回顾vue官方文档的过程中发现了is这个特性,虽然以我的写代码风格实在用不上,不过还是记录一下这个知识点 is的作用 <ul> <li></li> <li&g ...
- jQuery Scroll Path 滚插视图酷炫
jQuery Scroll Path是一个jQuery的滚动路径插件,可以让你自定义滚动路径.该插件是使用canvas flavored的语法来绘制路径.可以通过鼠标滚轮上/下箭头键和空格键来查看路径 ...
- Leetcode695.Max Area of Island岛屿的最大面积
给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合.你可以假设二维矩阵的四个边缘都被水包围着. 找到给定的二维数组中 ...
- ThInkPHP验证码不显示,解决方法汇总
出现ThInkPHP验证码不显示的情况 官方提示如下:如果无法显示验证码,请检查:① PHP是否已经安装GD库支持:② 输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出):(打开验证码文件为 ...
- QLabel添加Click信号
使用自定义label来实现此功能 其他控件可参照此例. #include "customerqlabel.h" CustomerQlabel::CustomerQlabel(QWi ...
- PAT天梯赛L1-002 打印漏斗
题目链接:点击打开链接 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** ***** 所谓"沙漏形 ...
- js简单倒计时
不想每次用倒计时,都现写代码,比较烦,这里记一下,也顺便分享一些倒计时简单的逻辑. 如果你有更简单方便的代码,可以分享给大家. var method = { countdownObj: { timer ...
- 使用curl指令实现restful接口操作
curl 是很方便的Rest客戶端,可以很方便的完成許多Rest API測試的需求,甚至,如果是需要先登入或認證的rest api,也可以進行測試,利用curl指令,可以送出HTTP GET, POS ...
- 2018-2-13-图论-Warshall-和Floyd-矩阵传递闭包
title author date CreateTime categories 图论 Warshall 和Floyd 矩阵传递闭包 lindexi 2018-2-13 17:23:3 +0800 20 ...
- Leetcode812.Largest Triangle Area最大三角形面积
给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积. 示例: 输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]] 输出: 2 解释: 这 ...