信号量介绍

为了摆脱浪费唤醒信号的问题,Dijkstra提出了一种包含存储所有唤醒调用的方法。 迪克斯特拉(Dijkstra)表示,生产者可以将唤醒调用存储在一个变量中,而不是将唤醒调用直接发送给消费者。 任何消费者只要需要就可以读取。

信号量是存储从生产者转移到消费者的整个唤醒调用变量。 它是在内核模式下自动进行读取,修改和更新的变量。

信号量不能在用户模式下实现,因为在两个或更多进程试图同时访问变量时总会出现竞争条件。 它始终需要操作系统的支持才能实施。

根据情况的需求,信号量可以分为两类。

  • 计算信号量
  • 二进制信号量或互斥量

在接下的教程文章中,我们将详细讨论它们。


上一篇:睡眠和唤醒

下一篇:计算信号量的问题

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程