Laboratorium PW Java 2

by Leszek Ciopiński published 2023/04/01 00:05:00 GMT+2, last modified 2023-04-12T12:39:00+02:00

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.