Programowanie współbieżne - Lista 1

Zadanie 1

Zapoznać się z programem prod-kons.c . Następnie

Zadanie 2

Napisać program w którym różne wątki niezależnie sumują kwadraty liczb z różnych przedziałów a następnie w sekcji krytycznej dodają sumy częściowe do sumy ogólnej.

Zadanie 3

Zasymulować przekazywanie sterowania między wątkami używając semaforów: każdy wątek dostaje swój semafor (na starcie zamknięty). Następnie "przekazujemy sterowanie" do danego wątku otwierając jego semafor. Gdy wątek chce dalej przekazać sterowanie zamyka on swój semafor a otwiera semafor wątku któremu "przekazuje sterowanie". Użyć to w programie gdzie wątek główny przygotowyje napis (i umieszcza jego adres w zmiennej globalnej), "wywołany" wątek oblicza długość napisu a na końcu wątek główny wypisuje wynik.

Zadanie 4

Co się stanie z programami z zadań 1 i 2 jeśli usuniemy z nich obsługę semaforów (mutex-ów) tzn. wywołania pthread_mutex_lock i pthread_mutex_unlock.