4.26

第一

1 //临界资源的访问过程
do{ 2 entry section; 3 critical section; 4 exit section; 5 remainder section; 6 }

 

//记录型信号量

typedef struct{
   int value;
   struct process *L; 
} semaphore;

void wait(semaphore S){
S.value---;
if(S.value<0){
  block(S.L);
}

}

void signal(semaphore S){
S.value++;
if(S.value<=0){
  wakeup(S.L);
}

}

 

第二

555

posted @ 2022-04-25 12:53  哈里发发发  阅读(48)  评论(0)    收藏  举报