开个QQ,开了一个进程;开了迅雷,开了一个进程。
在QQ的这个进程里,传输文字开一个线程、传输语音开了一个线程、弹出对话框又开了一个线程。所以运行某个软件,相当于开了一个进程。在这个软件运行的过程里(在这个进程里),多个工作支撑的完成QQ的运行,那么这“多个工作”分别有一个线程。所以一个进程管着多个线程。通俗的讲:“进程是爹妈,管着众多的线程儿子”...

View Code

 进程是cpu资源分配的最小单位,线程是cpu调度的最小单位。以前进程既是资源分配也是调度的最小单位,后来为了更合理的使用cpu(实际上是cpu性能越来越好),才将资源分配和调度分开,就有了线程。线程是建立在进程的基础上的一次程序运行单位。

View Code

看了一遍排在前面的答案,类似”进程是资源分配的最小单位,线程是CPU调度的最小单位“这样的回答感觉太抽象,都不太容易让人理解。做个简单的比喻:进程=火车,线程=车厢线程在进程下行进(单纯的车厢无法运行)一个进程可以包含多个线程(一辆火车可以有多个车厢)不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中间的一节车厢着火了,将影响到所有车厢)进程可以拓展到多机,进程最多适合多核(不同火车可以开在多个轨道上,同一火车的车厢不能在行进的不同的轨道上)进程使用的内存地址可以上锁,即一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。(比如火车上的洗手间)-"互斥锁"进程使用的内存地址可以限定使用量(比如火车上的餐厅,最多只允许多少人进入,如果满了需要在门口等,等有人出来了才能进去)-“信号量”

View Code

转载于:https://www.cnblogs.com/1138720556Gary/p/9677483.html

知乎_线程和进程的区别是什么?相关推荐

  1. Python_oldboy_自动化运维之路_线程,进程,协程(十一)

    本节内容: 线程 进程 协程 IO多路复用 自定义异步非阻塞的框架 线程和进程的介绍: 举个例子,拿甄嬛传举列线程和进程的关系: 总结: 1.工作最小单元是线程,进程说白了就是提供资源的 2.一个应用 ...

  2. 线程和进程的区别是什么?

    本文转载自知乎 文章目录 1.进程和线程的定义 2.二者的区别(解释1) 3.两者的区别(解释2) 1.进程和线程的定义 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运 ...

  3. 面试题系列(7):线程与进程的区别是什么,简单说一下。

    a. 一个程序至少有一个进程,一个进程至少有一个线程: b. 线程的划分尺度小于进程,使得多线程程序的并发性高: c. 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运 ...

  4. vc6 调试 附加到进程 列表空_今天,进程告诉我线程它它它它不想活了

    这是Java建设者的第 67 篇原创文章 上一篇文章我们解剖了进程和线程的本质,进程和线程的实现方式,这篇文章我们来探讨它们是如何通信的,进程告诉我说线程不想活了,我不管它死活,我只想知道我是谁?进程 ...

  5. 该线程或进程自上一个步骤以来已更改_多线程与高并发

    作者:彭阿三 出自:InfoQ 写作平台 原文:xie.infoq.cn/article/fa8bfade7e69b607c4daad8b5 一.概念 1.进程 进程指正在运行的程序,进程拥有一个完整 ...

  6. 进程和线程的关系与区别是什么?如何创建多线程?

    单核CPU和多核CPU: 单核CPU:在一个时间单元内,只能执行一个线程的任务.是一种假的多线程.(单核CPU可以"挂起"一个线程,执行另一个线程,看起来像是多线程) 多核CPU: ...

  7. Linux_多线程(进程与线程的联系_pthread库_线程创建_线程等待_线程正常终止_线程取消_线程分离_pthread_t与LWP)

    文章目录 1.线程的定义,进程和线程的关系 2.Linux下的线程 Linux原生线程库(pthread库pthread.h) 线程的优点 线程的私有数据 3.线程控制 ①创建线程(pthread_c ...

  8. JUC必知必会(一):线程和进程

    JUC必知必会(一):线程和进程

  9. 爬虫:程序_进程_线程_多线程(案例多线程下载壁纸)

    目录 前言 一.什么是程序_进程_线程? 二.实现多线程的方法 继承方式实现多线程 为什么要是用类的方式创建线程: 线程的一些常用方法: 三.多线程访问全局变量的安全性问题: 什么是线程安全: 四.解 ...

  10. python线程与进程视频教程_[PYTHON系列教程]→进程 vs. 线程

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

最新文章

  1. 知名网站的 404 页面长啥样?
  2. 2021年春季学期-信号与系统-第十一次作业参考答案-第一小题
  3. /etc/fstab自动挂载文件详解
  4. sql alter表字段处理
  5. linux 上下文切换监控,[Linux] 查看进程的上下文切换pidstat
  6. 启动时间知多少?8款音视频类应用测评报告分析
  7. URTracker 试用不过期修改方法
  8. 遥感大辞典_学习遥感必读的十本专业书
  9. 9.深入浅出:集成运放内部电路分析——参考《模拟电子技术基础》清华大学华成英主讲
  10. 终于等到离职这一天了--献给准备、犹豫离职中的朋友们!
  11. 微前端 Micro-Frontnds - Single-SPA Application API
  12. 2021年等保2.0工作必须了解的40个问题汇总
  13. 电脑桌面图标右上角出现计算机名称如何取消,电脑桌面上的图标名称怎么清除不显示?...
  14. Image Super Resolution Using Conventional Neural Network (SRCNN)
  15. P3426 [POI2005]SZA-Template
  16. 一个女孩子四年同居后还剩下什么
  17. 小八手残党摇杆主板-拳皇97-安装接线教程
  18. Kafka生产与消费脚本工具
  19. 2022年全球自动去鱼皮机行业分析报告
  20. FB广告账号又被封?如何管理Facebook多个账号

热门文章

  1. jumpserver开源堡垒机部署安装
  2. 比特币 的 正统 ——BCH
  3. 使用shell编写九九乘法表,mysql分库备份
  4. 面试题22_栈的压入和弹出序列
  5. jenkins 插件安装
  6. HTML中的select只读
  7. win8.1 64位安装oracle10g客户端心得
  8. php获取远程文件夹下的文件是否存在,PHP判断远程文件是否存在函数
  9. 启动报错:Unsatisfied dependency expressed through field ‘baseMapper‘
  10. php 安装pdo odbc,php如何安装pdo odbc扩展