对于多进程和多线程的理解(待补充)

1、概念

  先来说说概念。说到并发的概念就要先构建对多任务编程的认识。多任务编程的意义是充分利用计算机多核资源,提高程序的运行效率。实现方式有并发和并行两种。

  并发:同时处理多个任务,内核在任务间不断的切换达到好像多个任务被同时执行的效果,实际每个时刻只有一个任务占有内核。

  并行:多个任务利用计算机多核资源在同时执行,此时多个任务间为并行关系。

  那么并发编程又有两种实现方式:多进程和多线程。

  进程:程序在计算机中的一次运行。

  •   程序是一个可执行的文件,是静态的占有磁盘。
  •   进程是一个动态的过程描述,占有计算机运行资源,有一定的生命周期。

  线程:【1】 线程被称为轻量级的进程
     【2】 线程也可以使用计算机多核资源,是多任务编程方式
     【3】 线程是系统分配内核的最小单元
     【4】 线程可以理解为进程的分支任务

2、多进程和多线程在不同使用场景下的选择

  多进程和多线程最大的特点——“进程是资源分配的最小单位,线程是程序执行的最小单位”

  进程和线程的优缺点总结

    进程优点:编程、调试简单,可靠性较高。
    进程缺点:创建、销毁、切换速度慢,内存、资源占用大。
    线程优点:创建、销毁、切换速度快,内存、资源占用小。
    线程缺点:编程、调试复杂,可靠性较差。

  进程线程的区别与联系:

  1. 两者都是多任务编程方式,都能使用计算机多核资源
  2. 进程的创建删除消耗的计算机资源比线程多
  3. 进程空间独立,数据互不干扰,有专门通信方法;线程使用全局变量通信
  4. 一个进程可以有多个分支线程,两者有包含关系
  5. 多个线程共享进程资源,在共享资源操作时往往需要同步互斥处理
  6. 进程线程在系统中都有自己的特有属性标志,如ID,代码段,命令集等。

    

猜你喜欢

转载自www.cnblogs.com/jason--/p/11444356.html
今日推荐