从读卡机上读进 N 张卡片,复制并打印。要求复制的信息、打印

您所在的位置:网站首页 sai卡机 从读卡机上读进 N 张卡片,复制并打印。要求复制的信息、打印

从读卡机上读进 N 张卡片,复制并打印。要求复制的信息、打印

2023-04-21 17:05| 来源: 网络整理| 查看: 265

答 : 设互斥信号量 S1,S2 初值为 1 ,分别用于对 buffer1 和 buffer2 的互斥访问;同步信号量 Sn1,Sn2 初值为 1 ,分别表示 buffer1 和 buffer2 初始状态为空闲,可以放一张卡片信息;同步信号量 Sm1,Sm2 初值为 0 ,分别表示 buffer1 和 buffer2 中的信息还没有(或已被取用了)。用 P , V 操作完成这 3 个并发进程间能正确运行的程序如下:

BEGIN

S1,S2,Sn1,Sn2,Sm1,Sm2:semaphore;

S1=S2=1;

Sn1=Sn2=1;

Sm1=Sm2=0;

Cobegin

Process  produce  get

Begin

L1: 从读卡机读进一张卡片信息;

P(Sn1);

P(S1);

将信息放入 buffer1;

V(Sm1);

V(S1);

Goto  L1

End

Process  produce   copy

Begin

L2:  P(Sm1);

P ( S1 );

从 buffer1 复制信息;

V ( Sn1 ) ;

V(S1);

P(Sn2);

P(S2);

将复制的信息放入 buffer2;

V(Sm2);

V(S2);

Goto  L2

End

Process  produce  put

Begin

L3:  P(Sm2);

P(S2);

从 buffer2 取信息;

V(Sn2);

V(S2);

把信息从打印机输出;

Goto  L3

End

Coend;

END



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3