线程

在线程中有一个程序计数器,用来记录接着要执行哪一条指令。
线程拥有寄存器,用来保存线程当前的工作变量。
线程还拥有一个堆栈,用来记录执行历史,其中每一帧保存了一个已调用的但是还没有从中返回的过程

多个进程共用物理空间和内存,磁盘,打印机,

而线程是公用同一片地址空间和其他资源
享有相同的全局变量

线程三态

  • 运行态
  • 就绪态
  • 阻塞态

线程切换

满足select模型,当阻塞了就select函数会将他异常

进程间的通信(IPC)

进程问题:

  • 如何通信
  • 确保活动不会出现交叉
  • 顺序相关

竞争条件

  • 概念:
    • 多进程协作工作,读写某些共享数据,最后的结果取决于运行的时序
      例子:如假脱机打印程序

临界区

避免上面的竞争条件

  • 概念
    • 将共享内存进行访问的程序片段称为临界区
      解决竞争的条件:
  • 任何时刻都只能一个进程进入临界区
  • 不对cpu的速度和数量做假设
  • 临界区外运行的进程不得阻塞其他进程
  • 不得无限期等待进入临界区
posted @ 2022-10-30 22:24  壹剑霜寒十四州  阅读(12)  评论(0编辑  收藏  举报