1.进程和线程的主要区别

根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位

在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。

所处环境:在操作系统中能同时运行多个进程;而在同一个进程中有多个线程同时执行(通过CPU调度,在每个时间片中只有一个线程执行)

内存分配方面:系统在运行的时候会为每个进程分配不同的内存空间;而对线程而言,除了CPU外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源。

包含关系:没有线程的进程可以看做是单线程的,如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。

2.进程与程序的主要区别

进程概念和程序概念最大的不同之处在于:

(1)进程是动态的,而程序是静态的。
(2)进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。没有建立进程的程序不能作为1个独立单位得到操作系统的认可。
(3)1个程序可以对应多个进程,但1个进程只能对应1个程序。进程和程序的关系犹如演出和剧本的关系。

进程和线程的主要区别及进程与程序的主要区别相关推荐

  1. linux下查看进程的线程数,linux查看进程的线程数

    top -H -p $PID  #查看对应进程的那个线程占用CPU过高 1.top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程.否则,它一行 ...

  2. python 协程、进程、线程_Python 中的进程、线程、协程

    1. 进程 进程是正在运行的程序实例,是内核分配资源的最基本的单元.进程拥有自己独立的堆和栈,独立的地址空间,资源句柄.进程由 OS 调度,调度开销较大,在并发的切换过程效率较低. Python 提供 ...

  3. java进程和线程_Java™ 教程(进程和线程)

    并发 计算机用户想当然地认为他们的系统一次可以做不止一件事,他们设想他们可以继续在文字处理器中工作,而其他应用程序则下载文件.管理打印队列和流音频,即使是单个应用程序通常也希望一次完成多个任务.例如, ...

  4. 进程和线程(4)-进程 vs. 线程

    进程 vs. 线程 我们介绍了多进程和多线程,这是实现多任务最常用的两种方式.现在,我们来讨论一下这两种方式的优缺点. 首先,要实现多任务,通常我们会设计Master-Worker模式,Master负 ...

  5. linux的进程与线程通信方式,Linux的进程/线程间通信方式总结

    Linux系统中的进程间通信方式主要以下几种: 同一主机上的进程通信方式 * UNIX进程间通信方式: 包括管道(PIPE), 有名管道(FIFO), 和信号(Signal) * System V进程 ...

  6. 进程与线程基础day02--------守护进程、系统日志、文件锁

    目录 一.守护进程         1.概念                 1>守护进程,也就是通常所说的Daemon进程                 2>终端 2,守护进程的原理  ...

  7. python学习---进程和线程(1)进程

    目录 多应用任务 线程和进程 并发和并行 实现多任务的方式 进程 创建进程 自定义进程 进程池 阻塞式 非阻塞式 进程间的通信 多应用任务 def func1(n):for i in range(n) ...

  8. 进程、线程、多线程相关总结

    进程.线程.多线程相关总结 一.说说概念 1.进程(process) 狭义定义:进程就是一段程序的执行过程. 广义定义:进程是一个程序关于某个数据集合的一次运行.它是操作系统动态执行的基本单元,在传统 ...

  9. 操作系统学习:进程、线程与Linux0.12初始化过程概述

    本文参考书籍 1.操作系统真相还原 2.Linux内核完全剖析:基于0.12内核 3.x86汇编语言 从实模式到保护模式 ps:基于x86硬件的pc系统 进程 进程是一种控制流集合,集合中至少包含一条 ...

  10. python之进程和线程的对比

    python之进程和线程的对比 1. 进程和线程的对比的三个方向 关系对比 区别对比 优缺点对比 2. 关系对比 线程是依附在进程里面的,没有进程就没有线程. 一个进程默认提供一条线程,进程可以创建多 ...

最新文章

  1. SAP MM 采购发票上的价格与采购订单上价格的差异
  2. java spring 服务器关闭_通过springboot怎么停止服务器??
  3. 哪个学校计算机系学大物,计算机系各专业专业及名校介绍
  4. 理解A*寻路算法具体过程
  5. 通俗易懂:说说 Python 里的线程安全、原子操作
  6. java新手笔记18 类比较
  7. JQuery Tables 的应用(二)
  8. JDK与Eclipse版本
  9. magisk小问题解答
  10. C语言代码如何运行的
  11. Microsoft Teams安排 Teams 实时事件
  12. 到底什么是嵌入式?什么是单片机?
  13. 网易收购《底特律》《暴雨》开发商继续走向全球化
  14. 华为matex鸿蒙,华为MateX推迟至9月,或预装鸿蒙系统,价格是唯一败笔
  15. 如何让Fresco支持HEIF/HEIC图片格式
  16. Oracle中Blob和Clob类型的区别
  17. Python初学者指南
  18. 实验室安全 考试 题库
  19. 2020中国AI单笔最大融资:第四范式完成7亿美元D轮融资
  20. 供水管网泄漏监测系统软件报警功能类型分析及原理

热门文章

  1. 软件工程各阶段的UML图
  2. 序数是什么意思_vlookup 列序数是什么意思
  3. 美国游学英国游学推荐 选择国际游学机构五大攻略
  4. 4.16 日期的输入和自定义日期的格式 [原创Excel教程]
  5. ellipsize属性
  6. MySQL 8.0 执行 insert 插入数据非常缓慢的问题及解决方法
  7. 子线程设置的钩子(HOOK)为什么钩不到消息?
  8. 【CSRF漏洞-01】跨站请求伪造漏洞靶场实战
  9. 什么样的企业/单位需要圣天诺LDK?
  10. oracle 存储过程基本语法