进程和线程的主要区别及进程与程序的主要区别
1.进程和线程的主要区别
根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位
在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。
所处环境:在操作系统中能同时运行多个进程;而在同一个进程中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)
内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源。
包含关系:没有线程的进程可以看做是单线程的,如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。
2.进程与程序的主要区别
进程概念和程序概念最大的不同之处在于:
(1)进程是动态的,而程序是静态的。
(2)进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。没有建立进程的程序不能作为1个独立单位得到操作系统的认可。
(3)1个程序可以对应多个进程,但1个进程只能对应1个程序。进程和程序的关系犹如演出和剧本的关系。
进程和线程的主要区别及进程与程序的主要区别相关推荐
- linux下查看进程的线程数,linux查看进程的线程数
top -H -p $PID #查看对应进程的那个线程占用CPU过高 1.top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程.否则,它一行 ...
- python 协程、进程、线程_Python 中的进程、线程、协程
1. 进程 进程是正在运行的程序实例,是内核分配资源的最基本的单元.进程拥有自己独立的堆和栈,独立的地址空间,资源句柄.进程由 OS 调度,调度开销较大,在并发的切换过程效率较低. Python 提供 ...
- java进程和线程_Java™ 教程(进程和线程)
并发 计算机用户想当然地认为他们的系统一次可以做不止一件事,他们设想他们可以继续在文字处理器中工作,而其他应用程序则下载文件.管理打印队列和流音频,即使是单个应用程序通常也希望一次完成多个任务.例如, ...
- 进程和线程(4)-进程 vs. 线程
进程 vs. 线程 我们介绍了多进程和多线程,这是实现多任务最常用的两种方式.现在,我们来讨论一下这两种方式的优缺点. 首先,要实现多任务,通常我们会设计Master-Worker模式,Master负 ...
- linux的进程与线程通信方式,Linux的进程/线程间通信方式总结
Linux系统中的进程间通信方式主要以下几种: 同一主机上的进程通信方式 * UNIX进程间通信方式: 包括管道(PIPE), 有名管道(FIFO), 和信号(Signal) * System V进程 ...
- 进程与线程基础day02--------守护进程、系统日志、文件锁
目录 一.守护进程 1.概念 1>守护进程,也就是通常所说的Daemon进程 2>终端 2,守护进程的原理 ...
- python学习---进程和线程(1)进程
目录 多应用任务 线程和进程 并发和并行 实现多任务的方式 进程 创建进程 自定义进程 进程池 阻塞式 非阻塞式 进程间的通信 多应用任务 def func1(n):for i in range(n) ...
- 进程、线程、多线程相关总结
进程.线程.多线程相关总结 一.说说概念 1.进程(process) 狭义定义:进程就是一段程序的执行过程. 广义定义:进程是一个程序关于某个数据集合的一次运行.它是操作系统动态执行的基本单元,在传统 ...
- 操作系统学习:进程、线程与Linux0.12初始化过程概述
本文参考书籍 1.操作系统真相还原 2.Linux内核完全剖析:基于0.12内核 3.x86汇编语言 从实模式到保护模式 ps:基于x86硬件的pc系统 进程 进程是一种控制流集合,集合中至少包含一条 ...
- python之进程和线程的对比
python之进程和线程的对比 1. 进程和线程的对比的三个方向 关系对比 区别对比 优缺点对比 2. 关系对比 线程是依附在进程里面的,没有进程就没有线程. 一个进程默认提供一条线程,进程可以创建多 ...
最新文章
- SAP MM 采购发票上的价格与采购订单上价格的差异
- java spring 服务器关闭_通过springboot怎么停止服务器??
- 哪个学校计算机系学大物,计算机系各专业专业及名校介绍
- 理解A*寻路算法具体过程
- 通俗易懂:说说 Python 里的线程安全、原子操作
- java新手笔记18 类比较
- JQuery Tables 的应用(二)
- JDK与Eclipse版本
- magisk小问题解答
- C语言代码如何运行的
- Microsoft Teams安排 Teams 实时事件
- 到底什么是嵌入式?什么是单片机?
- 网易收购《底特律》《暴雨》开发商继续走向全球化
- 华为matex鸿蒙,华为MateX推迟至9月,或预装鸿蒙系统,价格是唯一败笔
- 如何让Fresco支持HEIF/HEIC图片格式
- Oracle中Blob和Clob类型的区别
- Python初学者指南
- 实验室安全 考试 题库
- 2020中国AI单笔最大融资:第四范式完成7亿美元D轮融资
- 供水管网泄漏监测系统软件报警功能类型分析及原理