1、有进程A对文件F进行读操作,进程B对文件F进行写操作,对文件F的读写操作不能同时进行。请利用PV原语和信号量实现进程A与B的互斥。
2条回答 默认 最新
- 寒意漫彻山川 2023-04-28 10:25关注
这种题目不难,把信号量确定好,然后按进程流程写就好了。
```c semaphore read = 1; // 读信号量 semaphore write = 1; // 写信号量 void A(){ wait(write); // 等待文件F的写操作完成 // 读取文件F的数据 signal(write); // 文件F的写操作已完成,解锁 } void B(){ wait(read); // 等待文件F的读操作完成 wait(write); // 等待文件F的写操作完成 // 写入文件F的数据 signal(write); // 文件F的写操作已完成,解锁 signal(read); // 文件F的读操作已完成,解锁 }
```
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
- ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
- ¥15 关于#java#的问题,请各位专家解答!
- ¥15 如何卸载arcgis 10.1 data reviewer for desktop
- ¥15 共享文件夹会话中为什么会有WORKGROUP
- ¥15 关于#python#的问题:使用ATL02数据解算光子脚点的坐标(操作系统-windows)
- ¥115 关于#python#的问题:未加密前两个软件都可以打开,加密后只有A软件可打开,B软件可以打开但读取不了数据
- ¥15 在matlab中Application Compiler后的软件无法打开
- ¥15 想问一下STM32创建工程模板时遇到得问题
- ¥15 Fiddler抓包443