zoukankan      html  css  js  c++  java
  • n个并发进程共用一个公共变量Q,写出用信号灯实现n个进程互斥的程序描述,给出信号灯值得取值范围,并说明每个取值范围的物理意义。

    答:

    var mutex: semaphore:=1;

             begin

             cobegin

                       process i : begin   // i = 1,2,……,n

                                repeat

                                         P(mutex);

                                         对公共变量Q的访问;

                                         V(mutex);

                                         reminder section

                                until false;

                       end

             coend

    信号量mutex的取值范围为mutex.value∈[1,-(n-1)]

    1、  值为1时表示没有进程访问公共变量

    2、  值为2时表示有一个进程正在访问公共变量

    3、  值为3时表示有一个进程正在访问公共变量,同时又|mutex.value|个进程等待访问公共变量

  • 相关阅读:
    Math类操作数据
    java之静态方法与非静态方法
    使用Date和SimpleDateFormat类表示时间
    Java 中基本类型和字符串之间的转换
    Python基础
    生成对抗网络
    机器翻译
    语义角色标注
    个性化推荐
    词向量
  • 原文地址:https://www.cnblogs.com/luo841997665/p/4664586.html
Copyright © 2011-2022 走看看