Operating system 使用信号量和打印决定三个进程的执行顺序;AABC“;

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是执行各自任务的三个进程。它们之间应该使用信号量进行同步,以便字符串“AABC”被无限次打印。确定所需信号量的最小数量及其初始值。还要确定在P1、P2和P3代码中应该插入对该信号量的操作的位置。 描述您的解决方案是如何工作的

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)          }                   }
 }   

为什么不编码并测试它呢?