线程和进程

线程和进程

一、线程和进程

线程是CPU调度和分派的基本单位。

进程对于操作系统来说就是一个任务。

听起来挺难懂的一句话,我们举一个实际例子:比如现在有一条需要被修的路,这个时候只有一个施工队要修它,假设是10天能修完;那么此时进程就是这条需要被修的路(任务),线程就是这一个施工队【单进程单线程】。

如果在修这条路的时候,来了两个施工队,各修一半,此时就是多线程【多个施工队】,单进程【一个任务】。那么好处也是显而易见的,多线程完成一个任务时间肯定低于10天,所以多线程就是省时间。

二、进程详述

换到我们电脑上来说,我们电脑上可以一边登陆QQ,一边听音乐,一边编辑Word等等,同时在执行多个任务,这个就是多进程。而我们的多核CPU就是用来控制进程的,比如六核CPU,可以同时控制六个进程,对于之前的单核CPU来说,这个该怎么控制呢?对于单核CPU来说,操作系统轮流让各个任务交替执行,任务1执行0.01秒,然后切换到任务2,任务2执行0.01秒,接着切换到任务3,执行0.01秒……就这样反复执行下去。由于我们的分辨速度远远达不到这个级别,所以并没有察觉(就像人类的眼睛无法分辨超过30帧的图像一样),整个切换过程我们完全分辨不出来。

但是六核的CPU显然也无法满足我们的需求,我们同时使用的任务极有可能超过六个,当超过的时候,任务的处理方式与单核CPU一致。

三、线程详述

当我们在听音乐的时候,【在音乐这个进程下】我们有可能还在干别的事情,比如搜索音乐,这样一个进程就有多个线程,对于我们这个比喻来说,拥有两个线程:(1)听音乐(2)搜索音乐。

同样,多个线程也是需要多核CPU,这样才是真正的多线程,如果只是单核CPU的话,也是只能不断地切换不同的线程来完成。

四、Python的进程与线程

对于Python来说,既支持多进程又支持多线程。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值