进程间的mutex

2023-05-16

设两个进程共用一个临界资源的互斥信号量mutex=1,当mutex=-1时表示()。
  • 一个进程进入了临界区,另一个进程等待
    
  • 没有一个进程进入临界区
    
  • 两个进程都进入临界区
    
  • 两个进程都在等待
    
互斥信号量不采用自旋锁的方式实现,mutex初始值为1,当一个准备进入临界区时,mutex - 1 = 0,该进程进入临界区;
另一个进程准备进入临界区时,mutex - 1 = -1,mutex < 0时将该进程挂起到mutex的列表中,等待被唤醒。
因此一个进程已经进入临界区,另一个进程在等待。

对于两个并发进程,设互斥信号量为mutex,若mutex=0,则

  • 表示没有进程进入临界区
    
  • 表示有一个进程进入临界区
    
  • 表示有一个进程进入临界区,另一个进程等待进入
    
  • 表示有两个进程进入临界区
    

解析:本题考查互斥信号量的性质,mutex初值为1,表示允许一个进程进入临界资源,当由一个进程进入临界区且没有进程等待进入时,mutex减1,变为0,|mutex|为等待进入的进程数。就此题而言,当mutex=1时表示没有进程进入临界区;当mutex=-1时表示有一个进程进入临界区,另一个进程等待进入,答案选B。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

进程间的mutex 的相关文章

  • std::mutex 性能与 win32 CRITICAL_SECTION 相比

    的表现如何std mutex相比CRITICAL SECTION 是同等水平吗 我需要轻量级同步对象 不需要是进程间对象 是否有任何接近的STL类CRITICAL SECTION以外std mutex 请参阅我在答案末尾的更新 自 Visu
  • 为什么在将 Tokio 与 std::sync::Mutex 一起使用时会出现死锁?

    我在使用 Tokio 时偶然发现了一个死锁情况 use tokio time delay for Duration use std sync Mutex tokio main async fn main let mtx Mutex new
  • 最快的多读取器/单写入器保护共享资源 - C++

    我想确认我的方法非常fast适用于使用 C 的大多数多读者 单作者方法的共享资源的跨平台保护 它有利于编写者 这样当他们进入时 所有当前线程都可以完成 但任何类型的所有新线程都必须等待 这两个函数的逆向应该是显而易见的 我所做的阅读表明 提
  • 如何绕过分配将锁定值复制到 tr: net/http.Transport containssync.Mutex

    当我跑步时go vet输出以下错误 client go 2345 assignment copies lock value to tr net http Transport contains sync Mutex exit status 1
  • 登录多线程应用程序,在构造函数中使用互斥体

    我一直在编写一个基于 RAII 的 C 方法入口 出口记录器 用法是这样的 void Class Method METHOD NAME Class Method I know I could use FUNCTION instead lt
  • 互斥体名称 - 最佳实践?

    相关这个问题 https stackoverflow com questions 459554 how do i tell if one instance of my program is running 命名互斥体的最佳实践是什么 我意识
  • 检查 pthread 互斥体是否被锁定或解锁(线程锁定自身之后)

    我需要查看 if 语句中互斥体是否被锁定或解锁 所以我像这样检查 if mutex id 2 do stuff 但是当我检查 gcc 时 出现以下错误 error invalid operands to binary have pthera
  • 共享互斥体的交替例程

    我有方法a在某个随机时间重复调用 从而触发方法b 它在一段随机时间后完全执行 并且在它自己的线程中 我想确保随后执行a等到b已完成 由当前执行触发a 换句话说 a and b均须交替执行 我尝试使用互斥体和条件变量来执行此操作 如下所示 d
  • 在 ReleaseMutex 之前 CloseHandle 互斥锁 - 会发生什么?

    如果我在线程完成互斥体之前对互斥体调用 CloseHandle 因此尚未调用 ReleaseMutex 那么预期的行为是什么 CloseHandle 立即销毁传递给它的句柄 ReleaseMutex 然后会失败ERROR INVALID H
  • 这个递归同步调用如何不死锁?

    我有一组方法 它们全部同步到类对象 不能使用 self 因为可以在多个线程中使用该对象的多个实例 其中一些方法调用类中也在类对象上同步的其他方法 不知怎的 这有效并且不会导致我期望的僵局 我假设 testA 将被阻止运行 因为 testB
  • 在并发读取中是否使用互斥体

    我正在 Linux 中使用 C 进行编程 并且使用 pthreads 库 我正在使用互斥体来保护一些共享变量 但我不确定在这种特定情况下是否有必要使用互斥体 我有 3 个线程 共享变量是一个字符串 全局变量 线程1更改它的值 然后线程2和线
  • 是否可以在Java中有效地实现seqlock?

    Another question https stackoverflow com q 14660529 149138让我想知道是否seqlock http en wikipedia org wiki Seqlock可以通过Java中的易失性
  • Linux 中允许的 c/c++ 最大互斥体数量

    我一直在尝试找出 Linux 中 c c 进程的最大互斥体数量是多少 但没有成功 另外 有没有办法修改这个数字 我正在读的书提到了如何找到Linux中允许的最大线程数以及如何修改这个数字 但没有提到互斥体 检查这个pthread mutex
  • Boost 互斥范围锁

    我正在阅读 drdobbs com 上的 Boost Mutex 教程 并发现了这段代码 include
  • Java节流机制

    Update 我使用的是 Java 1 6 34 没有机会升级到 Java 7 我有一个场景 每分钟只允许调用一个方法 80 次 它实际上是由第 3 方编写的服务 API 如果调用次数过多 它会 关闭 忽略调用 其 API public c
  • 使用 std::mutex 而不是 boost::mutex 时出现未处理的异常

    我尝试摆脱代码中的一些 boost 依赖项 转而使用新的 C 11 功能 Visual Studio 2013 在我使用的一个组件中boost mutex和 一起boost lock guard
  • C++ 类的互斥成员导致编译错误

    我不确定为什么当我向 myClass 添加互斥体成员时会发生这种情况 在本例中为 mu Error C2661 std tuple lt void thiscall MyNameSpace myClass void MyNameSpace
  • Android NDK 互斥锁

    我一直在将跨平台 C 引擎移植到 Android 并注意到它在调用时会莫名其妙地 并且不一致地 阻塞pthread 互斥锁 这个引擎已经在多个平台上运行了很多年 并且有问题的代码多年来没有改变 所以我怀疑这是一个死锁或其他有错误的代码 这一
  • “benaphores”值得在现代操作系统上实施吗?

    当我还是一名 BeOS 程序员时 我读过本文 http www haiku os org legacy docs benewsletter Issue1 26 html Engineering1 26作者 Benoit Schillings
  • Pthread互斥锁由不同线程解锁

    一个天真的问题 我之前读到过 MUTEX 只能由锁定它的线程解锁 但我写了一个程序THREAD1锁定 mutexVar 并进入睡眠状态 然后THREAD2可以直接解锁mutexVar做一些操作并返回 gt 我知道每个人都说我为什么要这样做

随机推荐

  • Oracle VM VirtualBox UUID already exists 问题解决

    当我们在VirtualBox下装完系统 xff0c 想拷贝一份备用的时候 xff0c 导入备份的虚拟磁盘的会提示VirtualBox UUID already exists问题 xff0c 其实这个问题在网络上早就有各种不同的解决方案了 x
  • Mac下将文件复制到移动硬盘

    现象分析 xff1a 如果你在使用Mac系统时 xff0c 发现Mac系统和移动硬盘之间无法拷贝数据 xff0c 很有可能你的移动硬盘是NTFS格式的 xff0c 因为目前苹果系统的硬盘格式暂时不兼容这样的格式拷贝 xff0c 只能从NTF
  • Maven打包时报Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war解决方案

    问题现象 xff1a 用Maven打包时 xff0c 报Failed to execute goal org apache maven plugins maven war plugin 2 2 war错误 原因分析 xff1a 打包时在We
  • mac系统中怎么把显示在桌面上的磁盘图标取消掉?

    问题现象 xff1a 安装一些软件时 xff0c 桌面上总会出现外置磁盘图标如图1 下面就简单介绍下怎样取消这种外置图标 图1 解决方案 xff1a finder xff0d 偏好设置 xff0d 通用 xff0d 外置设置 取消前面对话框
  • tensorflow深度学习实战笔记(三):使用tensorflow lite把训练好的模型移植到手机端,编译成apk文件

    目录 一 准备工作 1 1模型训练 1 2模型固化和pb转tflite 1 3下载tensorflow源码 1 4安装android studio 二 在Android studio中进行开发 2 1修改app的build gradle文件
  • nvidia和cuda对应以及cuda和cuDNN对应版本

  • 修改spring Boot启动时的默认图案Banner

    一 修改Banner spring Boot启动的时候会有一个默认的启动图案 如下图 39 39 39 39 96 39 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • Java线程池自学手册Executor的使用

    准备做一个系列文章 xff0c 将零散的知识整理起来分享给大家 xff0c 希望给大家的工作和学习带来帮助 目录 1 Executor 2 ExecutorService 3 Executors 4 ThreadPoolExecutor 5
  • 常用开发资源整理(更新日:2017/4/26)

    说明 xff1a 为了方便 xff0c 今后将工作中用到一些常用的资源链接进行整理 xff0c 初衷是想发些各版本的冷资源 xff0c 免得在需要的时候花大量时间寻找 一 开发语言 1 Spring各版本压缩包下载 http repo sp
  • 博客地址迁移www.xiangquba.cn

    大家好 xff0c 非常感谢大家一直以来对我的关注 xff0c 博客有一年时间没有更新了 xff0c 其实我并没有停止分享 xff0c 只是这一年时间并没有在csdn上更新 xff0c 原因是因为起初csdn有一个自己给csdn发送短信绑定
  • FreeRTOS 任务函数里面的死循环

    任务函数是一个无限循环且不带返回值的函数 任务必须是死循环 xff0c 否则任务将经过 LR 返回 xff0c 如果 LR 指向了非法内存就会产生HardFault Handler xff0c 而 FreeRTOS 指向一个死循环 xff0
  • 使用libcurl异步发送http请求

    在工作中需要完成一个工具 xff0c 该工具主要的用途就是向指定的服务器和端口发送http请求 xff0c 为了提高性能 xff0c 采用多线程的方式进行 xff0c 同时采用libcurl的异步形式 代码如下 xff0c 在其中添加一些注
  • 【Kubernetes】K8S实践感受HPA的功能

    1 确保metrics server安装好 span class token punctuation span root 64 jdmaster span class token punctuation span span class to
  • 拓扑结构与IP地址划分

    拓扑结构 分为总线型 星型和环形 环形要比星型的可靠性更高 公司的网络拓扑结构是星型 中心是交换机 IP发展 第一阶段 分为A E类 第二阶段 子网划分 第三阶段 无类域间路由 现在多采用这一种 不仅满足大网分小 也满足子网合成超网 无类域
  • 多网卡udp绑定问题

    在多网卡机器上 udp包 协议会自动根据路由最优选择从哪个网卡发数据包出去 即使你在此之前把改socket绑定到了另一个网卡上 参考文章 https blog csdn net Scarlett OHara article details
  • QIODevice::readyRead()

    void QIODevice readyRead This signal is emitted once every time new data is available for reading from the device 每次当新数据
  • 论文投稿参考——如何撰写和发表SCI论文

    如何撰写和发表SCI论文 汪景秀 提要 对从事基础研究的科学工作者 能否在SCI收录的杂志发表论文 是能否进入学术前沿 在国际公认的同一个平台上参与学术竞争 做出原创性贡献的一个基本标志 那么怎样的论文才是合格的 xff1f 本文提出一些建
  • Win7电脑遇到蓝屏,并报错:IRQL NOT LESS OR EQUAL

    这一阵电脑老是蓝屏 xff0c 重启后window和360都检测到之前发生过蓝屏 xff0c 但是都不能够修复成功 一开始直接在百度上搜电脑蓝屏 xff0c 也没啥大的收获 直到有次注意到蓝屏时还有错误类型 xff1a IRQL NOT L
  • VS使用收获总结

    诊断工具在调试 gt 窗口 gt 显示诊断工具 报CL exe问题 可能是IDE的问题 比如写一个最简单的hello world代码来进行检验 可以在查找时使用正则表达式 xff0c 比如想要搜索 行尾为 61 1 xff1b 的文本 可以
  • 进程间的mutex

    设两个进程共用一个临界资源的互斥信号量mutex 61 1 xff0c 当mutex xff1d xff0d 1时表示 一个进程进入了临界区 xff0c 另一个进程等待 没有一个进程进入临界区 两个进程都进入临界区 两个进程都在等待 互斥信