python基础之三程与io(进程,线程,协程)GIL全局解释器锁,上下文切换

目录:

一. 进程

1.进程的定义:

  • 一个在内存中运行的应用程序就是一个进程。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。
  • 进程是资源分配的最小单位
  • 当一个可执行程序被系统执行(分配内存等资源)就变成了一个进程
  • 一个运行起来的程序就是一个进程

2.进程间互相访问数据的四种方式:
***注意:不同进程间内存是不共享的,所以互相之间不能访问对方数据

  • 利用Queues实现父进程到子进程的数据传递
  • 使用管道pipe实现两个进程间数据传递
  • Managers实现进程间数据传递
  • 借助redis中间件进行数据传递

3.程序:

  • 程序:程序是我们存储在硬盘里的代码,比如我的硬盘是512G内存条是16G,当 我们双击图标,打开程序的时候,实际上就是通过I/O操作(读写)内存条里面,内存条就是我们所指的资源。
  • CPU分时:CPU比你的手速快多了,分时处理每个线程,但是由于太快然你觉得每个线程都是独占cpu
  • cpu是计算,只有时间片到了,获取cpu,线程真正执行
  • 当你想使用 网络、磁盘等资源的时候,需要cpu的调度

4.为什么要使用进程池

  1. 一次性开启指定数量的进程

  2. 如果有十个进程,有一百个任务,一次可以处理多少个(一次性只能处理个)

  3. 防止进程开启数量过多导致服务器压力过大

    **进程的注意点**
    ①.程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,这种执行的程序就称之为进程
    ②.程序是指令的集合,它是进程运行的静态描述文本,进程是程序的一次执行活动,属于动态概念
    ③.在多道编程中,允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发的执行
    ④.进程是为了在CPU上实现多道编程而提出的
    ⑤.进程之间有独立的内存,各进程之间不能相互访问
    ⑥.创建新进程需要对父进程进此复制
    

5.进程的优缺点:

  • 优点:提供了多道编程,可以提高计算机的利用率
  • 缺点:①进程只能同一时间做一件事情②进程在执行过程中如果出现阻塞,整个进程就无法执行

6.并发和并行:

  • 并发:并发是同一个时间段内执行多个进程,通过时间片切换来模拟并行。
  • 并行:并行是同一个时间点有多个进程在一起执行。在同等条件下,并行的效率肯定比并发高,并发存在一定的消耗,在并发过程中,线程的创建、上下文切换都需要开销

7.多道编程的概念:

  • 多道编程:在计算机内存中同时存放几道相互独立的程序,共享系统资源,相互穿插运行
  • 单道编程:计算机内存中只允许一个程序运行

8.进程和程序的区别:

  • 程序是一个机器代码指令和数据的集合,所以程序是一个静态的实体
  • 进程是程序运行在数据集上的动态过程
  • 进程是系统进行资源分配和调度的一个独立单位
  • 一个程序对应多个进程,一个进程为多个程序服务
  • 一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一标识每个进程

二. 线程

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值