操作系统实验六死锁问题单车道问题
发布时间
阅读量:
阅读量
问题描述
在南北两个城市之间设有一条铁路线路,多个列车可分别从各自城市的车站排队进入轨道,驶向对方城市。然而,该铁路在同一时刻仅能允许单方向的列车通行,若出现双向列车同时行驶的情况,则会导致碰撞事故。请设计一种模拟方案,以实现两个方向的列车运行,并确保不会发生碰撞或长时间滞留的问题。是否能够构建一个管程结构来应对这一问题?
程序实现
dp.h
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <sys/msg.h>
#include <sys/wait.h>
/*信号灯控制用的共同体*/
typedef union semuns
{
int val;
} Sem_uns;
//管程中使用的信号量
class Sema
{
public:
Sema(int id);
~Sema();
全部评论 (0)
还没有任何评论哟~
