zoukankan      html  css  js  c++  java
  • 操作系统之信号量关系

    互斥与同步的信号量关系
    1.1软件
    1.2硬件
    屏蔽中断
    机器指令(test set)
    如果任何期间都可以中断就不是硬件
    缺点
    盲等占用处理器的时间
    饥饿现象
    死锁
    1.3信号量
    semaphores
    进程之间用来通信的标志
    有进程要等待信号量的话就阻塞自己
    等待和信号量都不可中断
    有一个队列
    ----------
    wait & signal
    Wait操作给信号量做减法
    semaphore
    wait(s):s-1
    申请资源并且可能阻塞自己<s<0>(不出现盲等)
    Signal(s): s+1
    释放资源并唤醒阻塞进程<s<=0>
    ·通用信号量
    通用信号量是记录型,其中一个是整型,另一个域为队列
    其元素等待该信号量的阻塞进程
    ·二进制信号量
    1.4信号量的类型
    ·互斥信号量和资源信号量
    互斥信号量是用于申请或者释放资源的使用权(只能有一个人使用)
    资源信号量标识某类资源的可用个数
    wait资源用于申请资源,可以阻塞自己
    signal资源用于唤醒资源唤醒一个阻塞进程
    互斥信号量
    s.count 》=0的时候标识可以用的资源个数
    s.count <0 标识在阻塞队列里被阻塞的进程个数

    1.4量程
    1.5信息传递

  • 相关阅读:
    wait与sleep区别?
    oracle死锁查询
    atomic 原子操作的类
    买票问题
    0001.第一个多线程demo--分批处理数据
    01: JavaScript实例
    01: 运维工作梳理
    04: 使用BeautifulSoup封装的xss过滤模块
    04: 打开tornado源码剖析处理过程
    03: 自定义异步非阻塞tornado框架
  • 原文地址:https://www.cnblogs.com/ttnrt/p/10596347.html
Copyright © 2011-2022 走看看