Skip to content

Lab 4

Andrzej Głuszak requested to merge lab4 into main

(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.

Edited by Andrzej Głuszak

Merge request reports