Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- adult(int id, ...)
- {
- pust_jen_jeden_proces
- {
- out++, 'A', id, "started"
- }
- povol_uz_ostatni
- pust_jen_jeden_proces
- {
- out++, 'A', id, "enter"
- ...
- pridej_3_zdroje
- povol adult a child pokud cekaji
- }
- povol_uz_ostatni
- cekej AWT
- pust_jen_jeden_proces
- {
- out++,'A',id, "trying to leave"
- if ( nemuze adult odejit? ) {
- out++, 'A', id, "waiting: " ...
- ...
- do
- {
- povol_uz_ostatni
- sem_wait(free_output)
- pust_jen_jeden_proces
- }
- while ( nemuze adult odejit? )
- ...
- }
- out++, 'A', id, "leave"
- uber_3_zdroje
- ...
- if ( vsichni uz byli v centru? ) sem_post(finished);
- if ( vsichni adult byli v centru ) povol deckam vstup
- }
- povol_uz_ostatni
- sem_wait(finished)
- pust_jen_jeden_proces
- {
- out++,'A', id, "finished"
- }
- povol_uz_ostatni
- child(int id, ...)
- {
- pust_jen_jeden_proces
- {
- out,'C', id, "started"
- }
- povol_uz_ostatni
- pust_jen_jeden_proces
- {
- if ( musi child cekat? ) {
- out++, 'C', "waiting: ", ...
- ...
- do
- {
- povol_uz_ostatni
- sem_wait(povolen_vstup)
- pust_jen_jeden_proces
- } while ( musi child cekat? );
- ...
- }
- out++,'C',id, "enter"
- zaber_1_misto
- ...
- }
- povol_uz_ostatni
- cekej CWT
- pust_jen_jeden_proces
- {
- out,'C',"trying to leave"
- out,'C',"leave"
- ...
- uvolni_1_misto
- if ( vsichni uz byli v centru? ) sem_post(finished);
- }
- povol_uz_ostatni
- sem_wait(finished)
- pust_jen_jeden_proces
- {
- out++,'C', id, "finished"
- }
- povol_uz_ostatni
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement