1.生產(chǎn)者消費(fèi)者問題
      一個(gè)消費(fèi)者一個(gè)生產(chǎn)者時(shí)
      semaphore full , empty;
      empty = n , full = 0;
      int in = 0 , out = 0; 
      cobegin 
      process producer () {                       process consumer () { 
               while(true){                                       while(true){
                     produce();                                          P(full);
                     P(empty);                                           out = (out+1)%n;
                     in = (in+1)%n;                                    V(empty);
                     V(full);                                                comsumer();
               }                                                           }
      }                                                       }
      coend      

      而一組消費(fèi)者,一組生產(chǎn)者時(shí),不僅生產(chǎn)者與消費(fèi)者之間要同步,而且各個(gè)生產(chǎn)者之間、各個(gè)消費(fèi)者之間還必須互斥地訪問緩沖區(qū)。
      所以要多一個(gè)互斥的信號(hào)mutex
      semaphore full , empty , mutex;
      empty = n , full = 0 , mutex = 1;
       int in = 0 , out = 0; 
      cobegin 
      process producer () {                       process consumer () { 
               while(true){                                       while(true){
                     produce();                                          P(full);
                     P(empty);                                           P(mutex) ;  
                     P(mutex) ;                                          out = (out+1)%n;
                     in = (in+1)%n;                                    V(mutex) ; 
                     V(mutex) ;                                          V(empty);
                     V(full);                                                comsumer();
               }                                                           }
      }                                                       }
      coend