线程与进程的区别(面试)

一.进程

进程:一个程序启动起来,就会对应一个进程,进程就是系统分配资源的基本单位。

上面一部分进程是我们自己去执行应用的可执行文件, 而另一部分是操作系统自动启动的进程.


二.线程

线程:线程是进程中的一个执行单元,是CPU调度的基本单位。线程是轻量级的进程,它共享进程的资源(如内存、文件等),但有自己的执行路径,线程的作用是提供程序内部的并发执行能力,通过多线程,可以在同一个进程中执行多个任务,从而提高了程序的执行效率。线程之间的共享资源使得线程之间的通信协作更加容易,但也需要注意数据进程等情况。

简单来说进程是独立运行的程序实例,而线程是进程中的执行流,用于实现并发执行

一个进程由一个或多个线程组成,彼此之间完成的工作不同(任务),同时执行,成为多线程。

例如:一部手机 可以用它来打游戏,也可以进行与它人聊天,还可以用来追剧等等...


线程与进程的区别:

• 进程是包含线程的.每个进程⾄少有⼀个线程存在,即主线程。
• 进程和进程之间不共享内存空间.同⼀个进程的线程之间共享同⼀个内存空间.

• 进程是系统分配资源的最⼩单位,线程是系统调度的最⼩单位。
• ⼀个进程挂了⼀般不会影响到其他进程.但是⼀个线程挂了,可能把同进程内的其他线程⼀起带⾛(整个进程崩溃).

• 多进程相比于多线程不会存在线程安全的问题, 多线程编程可能存在线程安全问题

相关推荐
Raink老师4 小时前
【AI面试临阵磨枪-79】实时数据 RAG:订单、商家、物流、天气、动态库存
人工智能·面试·职场和发展
Cosolar4 小时前
Chroma向量库面试学习指南
数据库·人工智能·面试·职场和发展·数据库架构
2301_809051144 小时前
Linux 网络编程 学习笔记
linux·网络·学习
方也_arkling5 小时前
【Java-Day08】static / final / 枚举
java·开发语言
坤昱5 小时前
cfs调度类深入解刨——最新内核细节分析2
linux·服务器·cfs·cfs调度·eevdf调度·eevdf·kernel 7.1
橙淮5 小时前
Spring Bean作用域与生命周期全解析
java·spring
艾莉丝努力练剑5 小时前
【Linux:文件】Ext系列文件系统进阶
linux·运维·服务器·c++·文件系统·文件io·ext
海市公约5 小时前
Linux核心基础命令与权限管理实战指南
linux·运维·服务器·vim·权限管理·系统监控·命令行
Chengbei115 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
eggcode5 小时前
【Qt学习】Linux(ARM架构)在线安装Qt6.x
linux·qt·学习·arm