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

一.进程

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

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


二.线程

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

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

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

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


线程与进程的区别:

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

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

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

相关推荐
元气满满-樱24 分钟前
Tomcat理论
java·tomcat
学海_无涯_苦作舟26 分钟前
MySQL面试题
数据库·mysql·面试
一只叫煤球的猫28 分钟前
从夯到拉,锐评13个Java Web框架
java·后端·程序员
Bright Xu29 分钟前
Qemu 安装 LoongArch架构 Fedora Remix F42 Linux系统
linux·loongarch·国产cpu
莫白媛29 分钟前
Linux创作笔记综合汇总篇
linux·运维·笔记
heartbeat..35 分钟前
JUC 在实际业务场景的落地实践
java·开发语言·网络·集合·并发
tryxr36 分钟前
线程安全的类 ≠ 线程安全的程序
java·开发语言·vector·线程安全
rchmin1 小时前
Java内存模型(JMM)详解
java·开发语言
studytosky1 小时前
Linux系统编程:深度解析 Linux 进程,从底层架构到内存模型
linux·运维·服务器·开发语言·架构·vim
Wpa.wk1 小时前
Tomcat的安装与部署使用 - 说明版
java·开发语言·经验分享·笔记·tomcat