目录

  • 线程
    • 概念
    • 存在意义
    • 进程和线程的区别和联系

线程

概念

进程就是一个"执行流",按照某种顺序执行自己的代码。

存在意义

如今各种操作系统均能实现多进程同时执行,也就是支持并发编程。一个进程的创建需要消耗计算机资源,销毁意味着要释放资源。当很多个进程同时执行时,计算机资源的消耗太大,执行效率较低
如何才能提高并发编程的效率?有两种方式:

  1. 进程池:像String常量池、数据库中的连接池,使用进程池来存储多个进程,当进程销毁时并不真的释放这个进程而是将进程存储到进程池中,这样再次使用该进程时直接从进程池中取就好。但进程池维护进程意味着在进程不使用的时候同样需要消耗不少的计算机资源
  2. 使用线程实现并发编程:线程存在于进程当中,一个进程中有很多个线程线程较进程而言更加轻量,创建、摧毁、调度一个线程要快于进程。之所以快,是因为多个线程是存在于一个进程当中的,共享一份资源,当在一个进程中创建多个线程时,只有第一个线程的创建需要分配资源,之后线程的创建直接共享该资源即可。进程和线程之间的关系就相当于工厂和工厂中的生产线。一个工厂中有多个生产线,生产线的创建、销毁的成本要低于一个工厂。当然一个进程中的线程并不是说越多越好,因为一个进程中的多个线程可能在消耗同一份资源,如果线程之间过多会出现忙等,反而不会提升并发编程的效率,一个进程中的线程的个数与硬件设备的等级有关

进程和线程的区别和联系

联系:

  1. 进程包含线程,一个进程中可以有一个或者多个线程。
  2. 进程和线程都是为了解决并发编程。但线程的效率要高于进程,因为多个线程可以共享一份资源,而进程和进程之间是独立的,进程的创建和销毁是一定需要消耗资源的。

区别:

  1. 进程是操作系统分配资源的最小单位,线程是操作系统调度的最小单位
  2. 进程具有独立性,进程A的崩溃不会影响到进程B的崩溃;在一个进程中的多个线程是共享一份资源的,一个线程的崩溃可能会影响到该进程中其他线程的崩溃,进而导致整个进程崩溃
  3. 进程间的通信需要在内核中进行,而线程因为共享一份资源可以直接进行通信

进程和线程的区别和联系相关推荐

  1. Linux进程与线程的区别 详细总结(面试经验总结)

    首先,简要了解一下进程和线程.对于操作系统而言,进程是核心之核心,整个现代操作系统的根本,就是以进程为单位在执行任务.系统的管理架构也是基于进程层面的.在按下电源键之后,计算机就开始了复杂的启动过程, ...

  2. 进程和线程的区别?什么时候用进程?什么时候用线程?----看到好的复制到自己的园子里哈哈...

    进程和线程的区别?什么时候用进程?什么时候用线程? 答:首先得知道什么是进程什么是线程? 我的理解是进程是指在系统中正在运行的一个应用程序:程序一旦运行就是进程,或者更专业化来说:进程是指程序执行时的 ...

  3. Linux进程与线程的区别

    2019独角兽企业重金招聘Python工程师标准>>> Linux进程与线程的区别 cnyinlinux 本文较长,耐心阅读,必有收获! 进程与线程的区别,早已经成为了经典问题.自线 ...

  4. 谈谈进程和线程的区别

    进程和线程的区别是面试提问频率最高的问题,没有之一. 我们首先了解一下进程和线程的概念. 进程:一个进程就是一个正在执行程序的实例. 线程:操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进 ...

  5. 进程与线程的区别(面试题)

    进程与线程的区别 1.进程是资源分配最小单位,线程是程序执行的最小单位: 2..进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段.堆栈段和数据段,线程没有独立 ...

  6. task.run 强制结束线程_图文介绍进程和线程的区别

    点击蓝色"最码农"关注我哟 加个"星标",每天下午18:03,一起学技术 进程和线程的概念 先了解一下操作系统的一些相关概念,大部分操作系统(如Windows. ...

  7. 进程与线程的区别和联系

    概念 进程 进程(Process )是指计算机中已运行的程序.进程曾经是分时系统的基本运作单位.--维基 · 进程是正在执行的程序: · 进程是可以分配处理器并由处理执行的实体: 线程 线程(Thre ...

  8. 进程和线程的区别, 面相对象补充, 进程, 数据共享, 锁, 进程池, 爬虫模块(requests, bs4(beautifulsoup))...

    一. 进程和线程的区别?     第一:         进程是cpu资源分配的最小单元.         线程是cpu计算的最小单元.     第二:         一个进程中可以有多个线程.   ...

  9. 进程和线程的区别【转】

    进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程 ...

  10. [Java]进程与线程的区别(转)

    [Java]进程与线程的区别(转) 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自 ...

最新文章

  1. 2020年十大机器学习框架
  2. JavaScript设计模式--简单工厂模式例子---XHR工厂
  3. 编码练习——Java-2-流程控制
  4. chown chmod usermod命令的使用
  5. 给网站配置免费的HTTS证书 1
  6. python数据库查询怎么用变量_python中带变量的SQL查询
  7. 初一模拟赛总结(2019.5.25)
  8. 用户研究:如何做用户画像分析
  9. javascript 面向对象编程小记
  10. linux中搭建git私有服务器
  11. iBatis.Net系列(五)-providers.config-
  12. 使用 LaTeX 语言对 MATLAB 中的图片进行标注
  13. Vue 中的计算属性,方法,监听器
  14. 海康威视监控使用html播放
  15. 2021-2027全球与中国编码器附件市场现状及未来发展趋势
  16. 编译原理 语法分析程序
  17. 服务器数据恢复建议_raid磁盘阵列OFFLINE后的应急处理方案
  18. 区块链隐私保护(一): 交易层的隐私保护机制
  19. 回收戴尔R740 R740XD - CSDN
  20. 迪拜国际学术城各所大学中国学生入学人数持续增长

热门文章

  1. JAVA WEB应用目录
  2. 互联网单元测试初级-金阳光-专题视频课程
  3. NandFlash详解
  4. iMeta期刊纸质版免费订阅(包邮)—第1期创刊收藏版(3月底截止)
  5. 嵌入式linux qt 开源,嵌入式Linux应用程序开发-(1)第一个嵌入式QT应用程序
  6. 福州 | 程序媛的工作日
  7. 学习笔记之列表的使用
  8. 第一季度阅读总结以及下一阶段的书单
  9. 对于EnterCriticalSection和LeaveCriticalSection的理解和用法
  10. 用NERO刻录ISO文件,制作XP启动盘