进程和线程的简单对比
2023-09-27 14:25:49 时间
功能
- 进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ
- 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口
定义的不同
-
进程是系统进行资源分配和调度的一个独立单位.
-
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
-
进程有了后才有线程,线程必须依赖于进程
-
-
一份资源多个箭头线程
-
-
进程实现多任务,需要有多份资源
区别
- 一个程序至少有一个进程,一个进程至少有一个线程.
- 线程的划分尺度小于进程(资源比进程少),使得多线程程序的并发性高。
- 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率
进程相互独立
- 线线程不能够独立执行,必须依存在进程中
- 可以将进程理解为工厂中的一条流水线,而其中的线程就是这个流水线上的工人
进程是资源分配的单位
优缺点
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。
相关文章
- 测试面试Python——线程进程协程代码实现(面试频率超高)
- 什么是CPU密集型、IO密集型?什么是多进程与线程和协程?并行与并发?
- Nodejs进阶:如何玩转子进程(child_process)
- 共享内存进程线程混合通信
- 批量杀死进程的脚本
- Nginx学习笔记(八) Nginx进程启动分析
- 前端开发面试题—JavaScript执行机制(同步与异步,补充:线程与进程)
- WMI获取进程CPU占用率
- 实例解析shell子进程(subshell )
- 多CPU,多核,多进程,多线程以及进程和线程的简单理解以及区别
- 对线程与进程的区别以及对多线程并发的理解
- 进程和线程
- 进程,线程,协程,异步IO知识点
- Activity、Task、应用和进程
- CentOS7统计某个进程当前的线程数
- Linux进程管理
- 浅析JavaScript中的协程、进程如何切换线程的机制、线程如何切换协程的机制、协程的体现(生成器函数)、协程如何实现异步和非阻塞以及为什么要使用生成器+Promise组合
- Python学习---进程 1225
- Python学习---线程/协程/进程学习 1220【all】
- 进程、线程与处理器的调度(转)
- 进程查杀器
- 学习笔记(33):Python网络编程&并发编程-进程池线程池
- C#-IO-正由另一进程使用,因此该进程无法访问该文件
- Java多线程基础(一)---线程安全(synchronized 反编译深入分析,JConsole监控进程运行,程序死锁信息打印)