进程:进程是系统分配资源和调度的基本单位,也就是说进程可以单独运行一段程序。
线程:线程是cpu调度和分派的最小基本单位。

区别:
1.一个进程可以包含至少一个线程,一般来说也就是主线程,而一个线程只能属于一个进程;
2.进程拥有独立的内存,而线程没有独立的资源空间, 只是暂时存储在计数器,寄存器,栈中,同一个进程间的线程可以共享资源。
3.将代码放入到代码区之后,进程产生,但还没执行,我们所说的执行一般是是主线程main函数开始执行。
4.进程比线程更加消耗资源
5.进程对资源的保护要求高,而线程要求不高
6.进程是处理器这一层面的抽象,而线程是进程的基础上进一步并发的抽象
7.同一个进程下,一个线程的挂掉,会导致整个进程的挂掉,而进程之间不会相互影响
8.总的来说:我们都知道程序不能单独运行,只有将它放入内存中,分配资源才能运行,程序是指令的集合,而进程是程序的一次执行活动,属于动态概念
9.我们可以打个比方:进程相当于某一个大型项目,世界上可能有人同时在做这个项目,有其独特的方式;而线程就相当于这个项目下的一些程序员,多个程序员去完成这一个项目肯定要比一个人完成快的多,也就是能在同一时间操作。

决定同步:
1.互斥锁:同一个进程下,当某个线程使用进程的共享资源时,其他线程必须等待该线程结束
2.信号量:进程拥有同一时间最大访问数量

进程和线程的定义和区别相关推荐

  1. C语言笔试线程和进程的区别,进程和线程的定义和区别

    进程和线程的定义和区别 1.进程定义 进程:是具有一定独立功能的程序关于某个数据集合上的一次进行活动,是系统进行资源分配和调度的一个独立单位. 2.线程定义 线程:是进程的一个实体,是cpu调度和分派 ...

  2. 进程和线程的定义、区别与联系

    一.进程 进程:指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令.数据和堆栈等组成的,是一个能独立运行的活动实体. 注意,进程一般有三个状态:就绪状态.执行状态和等待状态[或称阻塞状态 ...

  3. 进程和线程的关系与区别

    1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基 ...

  4. 进程和线程的联系和区别

    2019独角兽企业重金招聘Python工程师标准>>> 定义: 一.进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位. 二.线程是 ...

  5. 程序、任务、进程和线程的联系与区别

    概念: 程序(program)只是一组指令的有序集合. 任务(task)是最抽象的,是一个一般性的术语,指由软件完成的一个活动.一个任务既可以是一个进程,也可以是一个线程.简而言之,它指的是一系列共同 ...

  6. 进程和线程的联系和区别(沥血推荐)

    定义: 一.进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位. 二.线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能独立运行的 ...

  7. 进程和线程的概念、区别和联系

    进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握. 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂. 进程与线程的一个简单解释 在这 ...

  8. 进程和线程的本质和区别

    进程是什么? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本:进程是程序的一次 ...

  9. goroutine调度详解,以及进程、线程、协程区别

    转载地址:https://blog.csdn.net/Arlingtonroad/article/details/106952053?utm_medium=distribute.pc_relevant ...

最新文章

  1. mysql集群的使用与简单测试
  2. 个人做asp.net时犯过的错或是一点心得什么的(我就经常的更新一下吧)
  3. Day16:面向对象编程——类和对象
  4. Python调用ansible API系列(一)获取资产信息
  5. .NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行
  6. eNSP模拟器RIP2动态路由,DHCP服务,ACL流控,组合使用的拓扑网络
  7. java 字符串索引从0开始_无限字符串中的字符串的第一个索引-Java
  8. shell脚本执行时报“bad interpreter: Text file busy“的解决方法
  9. python图像边缘检测_python 简单图像处理(11) 空间域图像锐化(边缘检测)
  10. a letter and a number
  11. Vue前端页面关键词快速搜索方法
  12. Flutter 安卓微信分享提示签名不对
  13. 牛客刷题<19>使用3-8译码器实现逻辑函数
  14. javascript合并多层级数组
  15. 计算机器设备重置成本时不应计入的费用是,自考《资产评估00158》章节试题:第3章...
  16. hdu 4416 后缀数组
  17. 数据的存储(浮点型篇)
  18. chrome tv版_软件推荐TV版APP:影迷大院1.0TV纯净版
  19. 《阿里巴巴开发手册》读书笔记-编程规约
  20. 哪些期货公司开户手续费更低?

热门文章

  1. mysql的几种插入语句_Mysql 几种常见的插入 Insert into,Replace Into,Insert ignore
  2. harmonyos2.0如何申请,华为鸿蒙HarmonyOS2.0手机开发者Beta版公测申请地址方法_专题_53货源网...
  3. 二维动态规划降维误差一般为多少_动态规划 所有题型的总结
  4. Java是否为整数_Java问题 输入一个数判定其是否为整数
  5. combus通讯_Vue兄弟组件通信Bus传值--小案例
  6. buck电路matlab,buck变换器介绍_buck变换器matlab仿真
  7. 四个变量的图表怎么做_年终总结必备:Excel双色图表怎么做?数据表达更直观...
  8. 计算机蠕虫的存在形式,计算机蠕虫
  9. 七十四、滑动窗口最值问题
  10. 六十四、前缀,后缀,中缀表达式转化求值问题