Jakartase_多线程 --- 进程和"多"线程简介(一)

一、 进程和线程

1.1、什么是进程

  • 1.1.1 概念:进程是程序的一次执行过程,是系统运行程序(cpu分配资源的)的基本单位,因此进程是动态的。
  • 1.1.2 特点:

    • 每个进程都是独立的
    • 一个进程可拥有多个并行的(concurrent)线程。
  • 1.1.3 进程和程序有何不同?

       程序(Program)是一个静态的概念,一般对应于操作系统中的一个可执行文件,比如:我们要启动酷狗听音乐,则对应酷狗的可执行程序。当我们双击酷狗,则加载程序到内存中,开始执行该程序,于是产生了“进程”。
    
    

1.2、什么是线程

  • 1.2.1 概念:一个进程内部的一个执行单元,它是程序中的一个单一的顺序控制流程(线程是调度和执行的单位)
  • 1.2.2 特点:

    • 每个进程都是独立
    • 多个线程共享相同的内存单元/内存地址空间,可以访问相同的变量和对象,而且它们从同一堆中分配对象并进行通信、数据交换和同步操作。
    • 线程的启动、中断、消亡所消耗的资源非常少
    • 线程间的通信是在同一地址空间上进行的,不需要额外的通信机制,使得通信更简便而且信息传递的速度也更快。

1.3、进程和线程的区别

  • 空间上

    • 每个进程都有独立的代码和数据空间
    • 同一进程的线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC)
  • 时间效率上

    • 进程间的切换会有较大的开销
    • 线程切换的开销小
    原文作者:Shonan
    原文地址: https://segmentfault.com/a/1190000019853766
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞