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**
|_|