1. 并发编程必备基础知识

1.1 多任务编程

多任务:同一时间内执行多个任务。
多任务执行方式:

  • 并发:一段时间内交替执行任务。在单核cpu上,只能进行并发
  • 并行:并行执行要求在多核cpu上实现,由于任务的数量远远多于cpu的核心数量,操作系统会自动把任务轮流调度到每个核上面执行。

    1.2 用户态和内核态

    操作系统对执行权限会分级,分为用户态和内核态。

    2. 进程

    2.1 定义

    进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程。

    2.2 组成部分

    进程一般由程序、数据集合和进程控制块三部分组成。

  • 程序用于描述进程要完成的功能,是控制进程执行的指令集;

  • 数据集合是程序在执行时所需要的数据和工作区;
  • 程序控制块(Program Control Block,简称PCB),包含进程的描述信息和控制信息,是进程存在的唯一标志。

    2.3 进程的状态以及切换

  • 进程有五大状态:创建,销毁,就绪,运行,阻塞。

  • 状态切换如图所示:

image.png

2.4 多进程编程