美文网首页
进程和线程

进程和线程

作者: MisAutumn | 来源:发表于2020-06-15 00:45 被阅读0次
  1. 根本区别:进程是资源分配的最小单位,线程是程序执行的最小单位
  2. 资源开销:每个进程都有自己的独立地址空间,进程间切换需要较大开销。同一进程内的多个线程共享进程的堆和方法区,线程之间切换消耗少。
  3. 一个进程崩溃后在保护模式下不会影响其他进程,一个线程崩溃后整个进程结束。
  4. 每个独立的进程都有程序入口,执行过程,程序出口。线程依存于应用程序中,不能独立执行。
JVM 线程的状态
多进程
优点
  1. 通常不需要考虑锁和同步资源的问题
  2. 更强的容错性,一个进程崩溃后不会影响其他进程
  3. 有内核保证的隔离:数据隔离和错误隔离
场景
  1. chrome浏览器也是多进程方式。 (原因:①可能存在一些网页不符合编程规范,容易崩溃,采用多进程一个网页崩溃不会影响其他网页;而采用多线程会。②网页之间互相隔离,保证安全,不必担心某个网页中的恶意代码会取得存放在其他网页中的敏感信息。)
  2. redis也可以归类到“多进程单线程”模型(平时工作是单个进程,涉及到耗时操作如持久化或aof重写时会用到多个进程)
多线程
优点
  1. 创建速度快,方便高效的数据共享,多线程可共享同一块虚拟地址空间
  2. 上下文切换开销小,不需要切换地址空间,不用更改寄存器,不用刷新TLB
  3. 提供非均质服务,有效降低简单任务被复杂任务压住的概率
场景
  1. 有数据需要共享或频繁通信时
  2. 事件响应有优先级
  3. 有IO交互的应用,良好的用户体验(键盘鼠标的输入,立刻响应)
怎么选多进程还是多线程
  1. 需要经常创建和销毁的时候选多线程:web服务器
  2. 大量计算时选多线程:CPU切换频繁
  3. 强相关用线程,弱相关用进程
    强相关:消息解码,业务处理
    弱相关:消息收发,消息处理
  4. 多核分布用多线程,多机分部用多进程

多进程,多线程

相关文章

  • 线程和进程概念

    线程和进程 进程 线程 线程和进程的区别

  • 17_多线程

    =================线程和进程 =============进程 =============线程 ==...

  • OC-底层原理 23:多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程 和 进程 线程和进程的定义 线程 线程时进程...

  • iOS 多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程 和 进程 线程和进程的定义 线程 线程时进程...

  • 线程

    线程和进程 进程 线程 线程和进程的区别 线程的好处和坏处 创建线程的方式一 线程中常用的方法 代码实例 创建线程...

  • iOS底层原理24:多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程和进程 线程和进程的定义 线程 线程是进程的基...

  • 多线程

    线程和进程的概念: 进程:正在运行的应用就是一个进程线程:进程中执行每个任务的是线程 进程和线程的关系: 一个进程...

  • 面试复习——Android工程师之Java面试题

    1、进程和线程 地址空间和其他资源:进程间相互独立,进程中包括多个线程,线程间共享进程资源,某进程内的线程在其他进...

  • 多线程介绍

    线程和进程 线程和进程的定义 线程:线程是进程的基本执行单元,一个进程的所有任务都在线程中执行进程要想执行任务,必...

  • 多线程编程GCD(基础知识)

    GCD 多线程编程 1.线程和进程 1.1 线程:线程是进程的基本单元,进程中所有要执行的任务,都在线程和进程中执...

网友评论

      本文标题:进程和线程

      本文链接:https://www.haomeiwen.com/subject/adyizhtx.html