linux进程司机售票员问题,linux 环境下使用信号量实现司机售票员进程同步,线程同步问题...

阅读: 评论:0

linux进程司机售票员问题,linux 环境下使用信号量实现司机售票员进程同步,线程同步问题...

linux进程司机售票员问题,linux 环境下使用信号量实现司机售票员进程同步,线程同步问题...

问题描述:

公共汽车上,司机和售票员的活动分别是:

司机的活动:启动车辆;正常行车;到站停车。

售票员的活动:关车门;售票;开车门。

在汽车不断的到站、停站、行驶过程中,用信号量和P,V操作实现它们的同步。

问题解决;

我们可以使用两个信号量来实现司机与售票员间的同步,具体实现形式如下:

司机进程:

司机开车;

v(s2);

p(s1);

汽车离站;

售票员进程:

售票员售票;

p(s2);

售票员开车门;

乘客上下车;

售票员关车门;

v(s1);

多线程实现同步:

#include

#include

#include

sem_t semid1,semid2;

void* driver()

{

while(1)

{

printf("n");

printf("driver开车n");

sem_post(&semid1);

sem_wait(&semid2);

printf("driver离站n");

}

}

void* passenger()

{

whi

本文发布于:2024-02-03 04:20:13,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170690521148610.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:售票员   信号量   进程   司机   线程
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23