Programowanie systemowe – bariery i muteksy

ćwiczenia laboratoryjne



Przydatne biblioteki i funkcje



Zadania


Zadanie 1. Zapoznaj się z mechanizmem barier.
Stwórz program, który pobierze dane z pliku liczbyso.txt, który zawiera n liczb całkowitych w oddzielnych wierszach. Program powinien utworzyć n wątków z czego każdy otrzyma, inną, liczbę z pliku oraz wypisze jej rozkład na czynniki pierwsze.
Przykład: Dla 120 powinno zostać wypisane: 2, 2, 2, 3, 5.
Przy pomocy barier spraw, by wątki zaczęły wykonywać obliczenia "w tym samym czasie" oraz by każdy wątek wyświetlił rozkład swojej liczby "w tym samym czasie".

Zadanie 2. Zapoznaj się z mechanizmem muteksu.
Stwórz program, który będzie wyświetlał kolejne wiersze "choinki z bombkami" o wysokości n. Choinka powinna składać się z gwiazdek, bombki ze znaku o, oraz powinna zawierać korzeń.
Bombki powinny być umieszczane w "losowy" sposób z prawdopodobieństwem 25%, że w danym miejscu, zostanie umieszczona bombka oraz z założeniem, że bombki nie mogą być umieszczone obok siebie.
Za wyświetlenie każdego wiersza powinien odpowiadać oddzielny wątek. Przy pomocy muteksów spraw, by działał na raz jeden wątek, który będzie wyświetlał jeden wiersz.
Przykład choinki dla n równego 5:
    *
   *o*
  **o*o
 o***o**
*o**o*o**
   |_|