1. Przygotować program, który tworzy dwa równoległe wątki: wątek 1 zwiększa licznik (zmienna counter) o 1 w pętli 10000 razy, a wątek 2 zmniejsza licznik o 1 w pętli przez 10000 razy.
  2. Na bazie problemu producent-konsument, przygotować implementację, w której:
    1. producent generuje losowe liczby i umieszcza je w kolejce o ograniczonej pojemności,
    2. konsument pobiera liczby z kolejki i je przetwarza poprzez podniesienie ich do pseudolosowej potęgi.
  3. Przygotować program, który wykorzystuje model SIMD do równoległego dodawania dwóch wektorów o długości 1 000 000.
  4. Przygotować program działający w modelu MIMD, który tworzy dwa różne wątki, wykonujące różne operacje na dwóch różnych, pseudolosowo wygenerowanych wektorach:
    1. wątek 1**:** oblicza sumę liczb w wektorze 1,
    2. wątek 2: oblicza iloczyn elementów wektora 2.
  5. Przygotować program działający w modelu SPMD, który wygeneruje pseudolosowy wektor numeryczny, a następnie podzieli go na N fragmentów i dla każdego z nich równolegle wyznaczy średnią arytmetyczną oraz sumę. Na końcu wszystkie wartości powinny zostać zagregowane: średnie uśrednione, a sumy zsumowane.