多核、多进程、多线程的理解

本文详细阐述了进程和线程的概念及其区别,包括它们在操作系统中的作用、如何提高CPU利用率和并发性能,以及多核CPU环境下两者的不同表现。

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

进程
1、一个CPU——可以(伪)并发——一个单独的CPU变成多个虚拟的CPU;
2、多道程序设计:通过操作系统的进程调度算法(时间片轮转调度、优先级调度、多级队列调度等),将一个CPU变成多个虚拟的CPU,使用户感觉多个进程同时执行;
3、每个进程在执行过程中有不同的形态,CPU需要根据进程执行过程中的特性制定CPU调度算法从而提高CPU的利用率;
4、CPU的并发需求产生了进程,进程执行过程中的特性产生了CPU调度算法,CPU调度时需要维护每个进程特有的数据和空间,因此产生了维护每个进程的进程表项。
线程
1、操作系统能够进行运算调度的——最小单位;

引入线程的原因:
2、对CPU密集型进程,多线程其性能不一定能得到大提升,但对于IO密集型进程,其性能可得到很大的提高;
3、线程比进程更轻量级,创建和撤销的代价小。一般,创建一个线程比一个进程要快10~100倍不等;
4、多核CPU——真正意义上的并行;
5、线程间的切换要比进程间的切换代价小;

引入多线程的原因:
6、多线程可以有效利用个别线程的等待时间;
7、多线程可以边交付、边计算;
8、多核或多CPU的能力体现;
9、相对于多进程应用,多线程在数据共享方面效率高很多;
10、程序逻辑本身要求的并发操作。

总结:
进程是系统分配资源的基本单位,线程是调度CPU的基本单位。(政府盖大楼:系统是政府,进程是各个环节的承包商,线程是具体执行的各个小队长)

多核CPU
多个完整的计算引擎(内存),共享Cache。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值