python记录_day30 多进程
1、什么是进程
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
同一个程序执行两次,就会产生两个进程
## 进程调度算法:
先来先服务
短作业优先
时间片轮转法
多级反馈队列
2、并发和并行
并发是伪并行,只是看起来是同时运行的。它是基于单核的,一个CPU加多道技术就可实现(多道技术:多个进程之间来回切换)
并行:同时运行,要依靠多个cpu才能实现
3、进程状态转换图

4、同步/异步
同步:一个任务的进行需要等待前面任务的完成
异步:不需要等待前面任务的完成
5、创建进程
#方式一
import time
import os
from multiprocessing import Process def func1():
time.sleep(2)
print('我是func1') def func2():
time.sleep(2)
print('我是func2')
print('子进程id',os.getpid())
print('父进程id',os.getppid()) if __name__ =='__main__':
start = time.time()
# func1()
# func2() #开子进程
p = Process(target=func2)
p.start() #告诉系统创建子进程
func1() # p2 =Process(target=func1)
# p2.start()
# print('主进程id',os.getpid()) end = time.time()
diff= end-start
print('时间差是》',diff)
创建进程1
#方式2
import time
from multiprocessing import Process class MyProcess(Process):
#自定义初始化
def __init__(self,n):
super().__init__() #必须调用父类的初始化,不然会报错
self.n = n
# run方法要重写,里面是你想让子进程运行的东西
def run(self):
print(self.n)
time.sleep(2)
print('子进程结束') if __name__ == '__main__':
p = MyProcess(520)
p.start()
p.join() print('主进程结束')
创建进程2
6、注意
#进程之间是空间隔离的(保证数据安全)
#由于进程创建机制不同,在windows下创建子进程的语句要放在 if __name__ =="__main__" 里,因为windows系统创建进 程时相当于import,会先执行一遍文件并拷贝,如果不放在 if 里就会循环调用,报错
python记录_day30 多进程的更多相关文章
- 搞定python多线程和多进程
1 概念梳理: 1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发 ...
- python多线程和多进程
1 概念梳理: 1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发 ...
- python 多线程和多进程
多线程与多进程 知识预览 一 进程与线程的概念 二 threading模块 三 multiprocessing模块 四 协程 五 IO模型 回到顶部 一 进程与线程的概念 1.1 进程 考虑一个场景: ...
- Python 多线程、多进程 (一)之 源码执行流程、GIL
Python 多线程.多进程 (一)之 源码执行流程.GIL Python 多线程.多进程 (二)之 多线程.同步.通信 Python 多线程.多进程 (三)之 线程进程对比.多线程 一.python ...
- python并发编程&多进程(一)
本篇理论居多,实际操作见: python并发编程&多进程(二) 一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行) ...
- 深入浅析python中的多进程、多线程、协程
深入浅析python中的多进程.多线程.协程 我们都知道计算机是由硬件和软件组成的.硬件中的CPU是计算机的核心,它承担计算机的所有任务. 操作系统是运行在硬件之上的软件,是计算机的管理者,它负责资源 ...
- 转搞定python多线程和多进程
转自https://www.cnblogs.com/whatisfantasy/p/6440585.html 1 概念梳理: 1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的最小 ...
- python高级之多进程
python高级之多进程 本节内容 多进程概念 Process类 进程间通讯 进程同步 进程池 1.多进程概念 multiprocessing is a package that supports s ...
- 第八篇:python高级之多进程
python高级之多进程 python高级之多进程 本节内容 多进程概念 Process类 进程间通讯 进程同步 进程池 1.多进程概念 multiprocessing is a package ...
随机推荐
- Windows操作系统下安装Ubuntu虚拟机
认识VMware虚拟机 VMware(虚拟机)是指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统,它能在Windows系统上虚拟出多个计算机,每个虚拟计算机可以独立运行 ...
- 检测浏览器(BOM)以及地址栏网址的API
navigator.userAgent //检测浏览器的版本以及那个厂商的 (不怎么准,你比如360经常跟别人干架,所以别人检测到360浏览器就提示浏览器危险,所以360就自己修改了) //分解这个地 ...
- 用.native修饰器来对外部组件进行构造器内部方法的调用以及用原生js获取构造器里的方法
html <div id="app"> <span v-text="number"></span> <btn @cli ...
- Unity3D学习笔记(三十二):Xlua(2)
Xlua支持通过子类对象访问父类的变量属性和方法 对于C#的ref,out参数的方法 当调用的时候:out类型的参数是不需要传递实参的,普通的参数和ref参数需要传递实参. out,ref传出值通 ...
- c# 泛型的应用
泛型静态类 & function作为参数 /// <summary> /// /// </summary> /// <typeparam name="O ...
- C#题目及答案(1)
1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成 ...
- 【BZOJ】1798: [Ahoi2009]Seq 维护序列seq
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1798 大概就是维护两个标记的线段树模板题. 设定优先级,先乘后加(只是相对的),$push ...
- Redis的EXPIRE过期机制介绍
概述在实际开发过程中经常会遇到一些有时效性数据,比如限时优惠活动,缓存或者验证码之类的.过了一段时间就需要删除这些数据.在关系型数据库中一般都要增加一个字段记录数据的到期时间,然后周期性地检查过期数据 ...
- 【教程】手写简易web服务器
package com.littlepage.testjdbc; import java.io.BufferedReader; import java.io.FileReader; import ja ...
- VC.【转】窗口置于前台并激活的方法
1.VC 窗口置于前台并激活的方法 - CSDN博客.html https://blog.csdn.net/oXunFeng/article/details/52681279 2.(http://ww ...