Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.55 KB | None | 0 0
  1. adult(int id, ...)
  2. {  
  3.     pust_jen_jeden_proces
  4.     {
  5.         out++, 'A', id, "started"
  6.     }
  7.     povol_uz_ostatni
  8.    
  9.  
  10.     pust_jen_jeden_proces
  11.     {
  12.         out++, 'A', id, "enter"
  13.         ...
  14.         pridej_3_zdroje
  15.         povol adult a child pokud cekaji
  16.     }
  17.     povol_uz_ostatni
  18.  
  19.     cekej AWT
  20.  
  21.     pust_jen_jeden_proces
  22.     {
  23.        
  24.         out++,'A',id, "trying to leave"
  25.         if ( nemuze adult odejit? ) {
  26.             out++, 'A', id, "waiting: " ...
  27.             ...
  28.  
  29.             do
  30.             {
  31.                 povol_uz_ostatni
  32.                 sem_wait(free_output)
  33.                 pust_jen_jeden_proces
  34.             }
  35.             while ( nemuze adult odejit? )
  36.             ...
  37.         }
  38.         out++, 'A', id, "leave"
  39.         uber_3_zdroje
  40.         ...
  41.         if ( vsichni uz byli v centru? ) sem_post(finished);
  42.         if ( vsichni adult byli v centru ) povol deckam vstup
  43.     }
  44.     povol_uz_ostatni
  45.  
  46.     sem_wait(finished)
  47.    
  48.     pust_jen_jeden_proces
  49.     {
  50.         out++,'A', id, "finished"
  51.     }
  52.     povol_uz_ostatni
  53.  
  54.  
  55.  
  56. child(int id, ...)
  57. {
  58.     pust_jen_jeden_proces
  59.     {
  60.        
  61.         out,'C', id, "started"
  62.     }
  63.     povol_uz_ostatni
  64.  
  65.     pust_jen_jeden_proces
  66.     {
  67.         if ( musi child cekat? ) {
  68.             out++, 'C',  "waiting: ", ...
  69.             ...
  70.  
  71.             do
  72.             {
  73.                 povol_uz_ostatni
  74.                 sem_wait(povolen_vstup)
  75.                 pust_jen_jeden_proces
  76.             } while ( musi child cekat? );
  77.             ...
  78.         }
  79.         out++,'C',id, "enter"
  80.         zaber_1_misto
  81.         ...
  82.     }
  83.     povol_uz_ostatni
  84.    
  85.     cekej CWT
  86.    
  87.     pust_jen_jeden_proces
  88.     {
  89.        
  90.         out,'C',"trying to leave"
  91.         out,'C',"leave"
  92.         ...
  93.         uvolni_1_misto
  94.         if ( vsichni uz byli v centru? ) sem_post(finished);
  95.     }
  96.     povol_uz_ostatni
  97.  
  98.     sem_wait(finished)
  99.    
  100.     pust_jen_jeden_proces
  101.     {
  102.         out++,'C', id, "finished"
  103.     }
  104.     povol_uz_ostatni
  105.  
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement