Lab 4
(Jeszcze nie skończone - nie poprawiłem samego scenariusza, potrzeba też bardziej klarownie sformułować polecenie)
Dla zademonstrowania sensu zmiennych atomowych dodałem program ParallelSumAtomic. Można go zestawić z programem z pierwszych zajęć, który nie działał.
Program KolejkaJedynek podmieniłem na ProducersConsumersSynchronized. Można go porównać z programem z zajęć poprzednich.
Usunąłem programy przykładowe WspolnaLista i Liczniki. Zamiast tego dodałem duży program przykładowy Bank, który ma zademonstrować, czym różnią się od siebie gwarancje dawane przez kolekcje synchronizowane, współbieżne i zwykłe, a także zmienne atomowe i nieatomowe. Powinno być widać, że do prawidłowego działania banku potrzebujemy zarówno zmiennych atomowych, jak i kolekcji synchronizowanej - przy czym kolekcja współbieżna będzie szybsza.
Jako zadanie niepunktowane chcę dać dołożenie do banku nowego typu konta opierającego się o https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html, co powinno jeszcze bardziej przyspieszyć działanie.