进程 线程 协程 单核cpu 多核cpu

本文探讨了CPU核心与线程的关系,介绍了超线程技术的工作原理及其应用场景,并对比了进程与线程的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个电脑只有一个CPU。

一个CPU可以有多个核心。

最初一个核心只处理一个线程。单核单线程、双核双线程。但是这会造成资源浪费,打一个比方,一个核心相当于一家超市,A管进货,B管摆货,C管收银。但是现在没有货可摆的时候,B是不是可以去当收银员呢?

这就出现了超线程技术,单核双线程,双核四线程。就是把一个核心模拟成两个核心,在一个核心一些资源闲着的时候,可以利用起来,当成一个核心来用。


在运行一般的小程序,很少有满载的情况,没有满负荷工作的话,总有一些资源在闲置。那这时候,超线程就有用了。
如果是3D渲染一类的极端任务,CPU一直满载,超线程就没什么用了。

 

程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。 一个程序至少有一个进程,一个进程至少有一个线程.

线程是进程的一部分

CPU调度的是线程并非是进程,线程是隶属于进程的,所以我们也可以认为是进程在切换。

系统为进程分配资源,不对线程分配资源,进程内的资源对于线程是共享的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值