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 多进程的更多相关文章

  1. 搞定python多线程和多进程

    1 概念梳理: 1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发 ...

  2. python多线程和多进程

    1 概念梳理: 1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发 ...

  3. python 多线程和多进程

    多线程与多进程 知识预览 一 进程与线程的概念 二 threading模块 三 multiprocessing模块 四 协程 五 IO模型 回到顶部 一 进程与线程的概念 1.1 进程 考虑一个场景: ...

  4. Python 多线程、多进程 (一)之 源码执行流程、GIL

    Python 多线程.多进程 (一)之 源码执行流程.GIL Python 多线程.多进程 (二)之 多线程.同步.通信 Python 多线程.多进程 (三)之 线程进程对比.多线程 一.python ...

  5. python并发编程&多进程(一)

    本篇理论居多,实际操作见:  python并发编程&多进程(二) 一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行) ...

  6. 深入浅析python中的多进程、多线程、协程

    深入浅析python中的多进程.多线程.协程 我们都知道计算机是由硬件和软件组成的.硬件中的CPU是计算机的核心,它承担计算机的所有任务. 操作系统是运行在硬件之上的软件,是计算机的管理者,它负责资源 ...

  7. 转搞定python多线程和多进程

    转自https://www.cnblogs.com/whatisfantasy/p/6440585.html 1 概念梳理: 1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的最小 ...

  8. python高级之多进程

    python高级之多进程 本节内容 多进程概念 Process类 进程间通讯 进程同步 进程池 1.多进程概念 multiprocessing is a package that supports s ...

  9. 第八篇:python高级之多进程

    python高级之多进程   python高级之多进程 本节内容 多进程概念 Process类 进程间通讯 进程同步 进程池 1.多进程概念 multiprocessing is a package ...

随机推荐

  1. Windows操作系统下安装Ubuntu虚拟机

    认识VMware虚拟机 VMware(虚拟机)是指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统,它能在Windows系统上虚拟出多个计算机,每个虚拟计算机可以独立运行 ...

  2. 检测浏览器(BOM)以及地址栏网址的API

    navigator.userAgent //检测浏览器的版本以及那个厂商的 (不怎么准,你比如360经常跟别人干架,所以别人检测到360浏览器就提示浏览器危险,所以360就自己修改了) //分解这个地 ...

  3. 用.native修饰器来对外部组件进行构造器内部方法的调用以及用原生js获取构造器里的方法

    html <div id="app"> <span v-text="number"></span> <btn @cli ...

  4. Unity3D学习笔记(三十二):Xlua(2)

    Xlua支持通过子类对象访问父类的变量属性和方法   对于C#的ref,out参数的方法 当调用的时候:out类型的参数是不需要传递实参的,普通的参数和ref参数需要传递实参. out,ref传出值通 ...

  5. c# 泛型的应用

    泛型静态类 & function作为参数 /// <summary> /// /// </summary> /// <typeparam name="O ...

  6. C#题目及答案(1)

    1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成 ...

  7. 【BZOJ】1798: [Ahoi2009]Seq 维护序列seq

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1798 大概就是维护两个标记的线段树模板题. 设定优先级,先乘后加(只是相对的),$push ...

  8. Redis的EXPIRE过期机制介绍

    概述在实际开发过程中经常会遇到一些有时效性数据,比如限时优惠活动,缓存或者验证码之类的.过了一段时间就需要删除这些数据.在关系型数据库中一般都要增加一个字段记录数据的到期时间,然后周期性地检查过期数据 ...

  9. 【教程】手写简易web服务器

    package com.littlepage.testjdbc; import java.io.BufferedReader; import java.io.FileReader; import ja ...

  10. VC.【转】窗口置于前台并激活的方法

    1.VC 窗口置于前台并激活的方法 - CSDN博客.html https://blog.csdn.net/oXunFeng/article/details/52681279 2.(http://ww ...