Advertisement
Guest User

Untitled

a guest
Dec 16th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //shared
  2. int min;
  3.  
  4.  
  5. //ilosc proc
  6. int n;
  7.  
  8. void proces_P(intid_procesu)
  9. {
  10. int x = generuj_int();
  11. int minimum = MONITOR.znajdz_min(x, id_procesu);
  12. printf(”minimum = %d\n”, minimum);
  13. }
  14.  
  15. monitor MONITOR {
  16.     private:
  17.         int num = 0;
  18.         int min;
  19.         cond allDone;
  20.     public:
  21.         int znajdz_min(x, idp){
  22.             if (num = 0) {
  23.                 min = x;
  24.             }
  25.             else {
  26.                     if (x < min) {
  27.                         min = x;
  28.                     }  
  29.             }
  30.             if (num < n - 1){
  31.                 num++;
  32.                 wait(allDone);
  33.             }
  34.             signal(allDone);
  35.             return min;
  36.         }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement