2.5.4Python-进程和线程

总目录:https://blog.csdn.net/qq_41106844/article/details/105553392

Python - 子目录:https://blog.csdn.net/qq_41106844/article/details/105553333

 

在了解进程和线程前需要了解一下什么是多任务。

什么是多任务

操作系统同时完成多项任务的处理。

现在计算机CPU已经普遍是多核,可以同时执行多个任务。但是以前的单核CPU也可以执行多任务,他先把任务A执行0.01秒,再把任务B执行0.0.1秒。。其实每个任务都在轮流执行,但是cpu的速度太快,让我感觉他是在执行多任务。(分时复用)

并发和并行

既然是多任务,变引申出来两个定义,并发和并行。

并发:指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机(CPU)上运行,但任一个时刻点上只有一个程序在处理机(CPU)上运行。

并行:是计算机系统中能同时执行两个或更多个处理的一种计算方法。并行处理可同时工作于同一程序的不同方面。并行处理的主要目的是节省大型和复杂问题的解决时间。

并发的关键是你有处理多个任务的能力,不一定要同时。并行的关键是你有同时处理多个任务的能力。所以说,并行是并发的子集。

什么是进程

进程是一个程序的执行实例。每个进程提供执行程序所需的所有资源。本质上是资源的合集。

一个进程有虚拟的地址空间、可执行的代码、操作系统的接口、安全的上下文(记录该进程的用户和权限)、唯一的进程ID、环境变量、优先级类、最大和最小的工作空间(内存空间),还要至少有一个线程。

什么是线程

线程是操作系统能够运算调度的最小单位。线程被包含在进程之中,是进程中的实际运作单位。一条线程是进程中一个单一顺序的控制流,一个进程可以并发多个线程,每条线程并行执行不同的任务。

 

如果我们把一个CPU比作一个工厂。

单核CPU:只有一个车间的工厂。(也就是一个车间)

多核CPU:有多个车间的工厂。

 

进程:一条流水线。

多进程:一个车间里面有多条流水线。

 

线程:一条流水线上的一个工人。

多线程:一条流水线上有多个工人。

 

内存共享:车间内的空间是工人共享的。

内存安全:车间有一个工人容量,达到容量其他工人不能进这个车间。

 

互斥锁:车间卫生间是单人卫生间,一个工人进去锁上门,另外一个工人发现锁门了就在外面排队。

信号量:后来担任卫生间修建成多个单人卫生间了,但是所有厕所都满了以后,还是要排队。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒 暄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值