Laboratorium PW Java 2
Poniższe zadania są do wstępu teoretycznego do instrukcji PW13 i PW14
Niniejsze zadania obowiązują na zajęcia w dniu 15.04.2023
1. Proszę stworzyć przykładowe aplikacje prezentujące możliwości następujących synchronizatorów:
a) CountDownLatch,
b) CyclicBarrier,
c) Phaser,
d) Exchanger,
e) Semaphore,
f) SynchronousQueue.
2. Stworzyć aplikację demonstrującą anulowanie zadania wykonywanego przez wątek przy
pomocy:
a) współdzielonej zmiennej,
b) przerwania,
c) interfejsu Future,
d) tzw. 'pigułki z trucizną'.
3. Stworzyć aplikację składającą się z co najmniej dwóch wątków czytających oraz jednego
modyfikującego wspólne dane np. wybrany atrybut w klasie. Współbieżny dostęp do danych
powinien zostać zapewniony przy pomocy:
a) zmiennej niepodzielnej,
b) obiektu klasy Lock,
c) obiektu klasy ReadWriteLock.