Page 257 - 6571
P. 257
account = account - amount;
notifyAll();
Існують також додаткові форми методу wait(), що дозво-
ляють вказувати час очікування по закінченню якого потік поно-
влює свою роботу.
4.2 Порядок виконання роботи
1. Ознайомитися із теоретичними відомостями до лаборатор-
ної роботи.
2. Використовуючи методи міжпотокової взаємодії написати
програму, що вирішує задачу під назвою «постачальник-
споживач»
3. Постачальник та споживач мають бути реалізовані у формі
двох незалежних потоків перший з яких кладе фрукти у ко-
рзину, а другий – виймає їх із корзини.
4. Корзина представляє собою об’єкт над яким можна вико-
нувати операції додавання та видаляння фруктів.
5. Процедура додавання та виймання фруктів полягає у на-
ступному:
‒ спочатку постачальник кладе фрукт у корзину, після чого
очікує до того часу, поки споживач не вийме його із кор-
зини;
‒ коли споживач виймає фрукт із корзини, то він сповіщає
про це постачальника і очікує поки той не поставить на-
ступний фрукт;
‒ у корзині не може знаходитися більше одного фрукту.
6. Дану задачу вирішити за допомогою двох різних підходів:
‒ з використанням неявних моніторів об’єктів;
‒ з використанням високорівневих методів комунікації між
потоками.
7. У звіті до лабораторної роботи представити знімки робочої
програми.
8. Оформити звіт та зробити висновки по роботі.
4.3 Контрольні запитання
1. Які існують механізми міжпотокових комунікацій у мові
Java?
256