Operating system 使用信号量和打印决定三个进程的执行顺序;AABC“;
P1、P2和P3是执行各自任务的三个进程。它们之间应该使用信号量进行同步,以便字符串“AABC”被无限次打印。确定所需信号量的最小数量及其初始值。还要确定在P1、P2和P3代码中应该插入对该信号量的操作的位置。 描述您的解决方案是如何工作的Operating system 使用信号量和打印决定三个进程的执行顺序;AABC“;,operating-system,synchronization,Operating System,Synchronization,P1、P2和P3是执行各自任务的三个进程。它们之间应该使用信号量进行同步,以便字符串“AABC”被无限次打印。确定所需信号量的最小数量及其初始值。还要确定在P1、P2和P3代码中应该插入对该信号量的操作的位置。 描述您的解决方案是如何工作的 P1 P2 P3 while(true){ while(true){ while (true){ print(“A”); print(
P1 P2 P3
while(true){ while(true){ while (true){
print(“A”); print(“B”); print("C");
} } }
我试图用三个信号量来回答这个问题。但不确定是否正确。初始值P=1,Q=-1,R=0
P1 P2 P3
while(true){ while(true){ while(true){
wait(P) wait(Q) wait(R)
print("A") print("B") print("C")
signal(P) signal(R) signal(P)
signal(Q) } }
}
为什么不编码并测试它呢?