• Nie Znaleziono Wyników

W tak postawionym problemie współdzielonym zasobem jest obręcz

N/A
N/A
Protected

Academic year: 2021

Share "W tak postawionym problemie współdzielonym zasobem jest obręcz"

Copied!
1
0
0

Pełen tekst

(1)

Laboratorium 6.

Niniejsze ćwiczenie naświetlić ma problemy związane z tworzeniem wielowątkowych aplikacji:

a) tworzenie i zatrzymywanie wątków, b) sekcja krytyczna i synchronizacja wątków

Zad. 1

Napisz program, w którym n wątków (n-parametr programu) przesuwać będzie obiekty graficzne (obiektem może być okrąg o kolorze lub średnicy odpowiadającym numerowi wątku) po obwodzie koła. Można to sobie wyobrazić jako przesuwanie koralików po obręczy.

Prędkość kątowa każdego z koralików powinna być kontrolowanym parametrem (np. za pomocą suwaka), skojarzonym z odpowiednim wątkiem. Obowiązuje tu jednak zasada, że wątek wolniejszy blokuje wątek szybszy (tj. koraliki na obręczy nie mogą się wyprzedzać). W tak postawionym problemie współdzielonym zasobem jest obręcz.

Zad. 2

Napisz program, w którym dojdzie do synchronizacji wielu wątków współdzielących zasoby.

Działanie programu powinno symulować (w sposób bardzo uproszczony) życie kolonii ślimaków. Interpretacja wątków i zasobów powinna być następująca:

a) zasobem współdzielonym przez wątki jest prostokąt o wymiarach w×h (w,h – parametry programu), którego fragmenty o wymiarze 1×1 (komórki) mogą przyjmować wartości od 0 do 10. Prostokąt ten interpretować można jako liść, na którym mogą żyć ślimaki.

b) istnieje jeden wątek odpowiedzialny za odświeżanie zasobów. Wątek ten w

określonych odstępach czasu inkrementuje wartości przechowywane w komórkach liścia. Podczas inkrementacji wątek powinien blokować inne wątki mające dostęp do liścia.

c) istnieje n wątków (n – parametr programu), które interpretować można jako ślimaki:

- poruszające się po liściu kapusty w kierunku niezajętego obszaru o największej przechowywanej wartości, ale większej od 0, z krokiem 1. Jeśli możliwości jest więcej niż jedna, to kierunek jest losowany. Jeśli dla danego ślimaka żadna z komórek sąsiednich nie przechowuje wartości większej od 0, ślimak ten powinien zostać uśpiony na określony czas t (t – parametr ślimaka) - konsumujące liść z określoną szybkością v (tj. dekrementującym wartości

przechowywane w komórkach liścia, v – parametr ślimaka) Program powinien w sposób graficzny pokazywać efekty działania wątków.

Cytaty

Powiązane dokumenty

Wykazać, że funkcja charakterystyczna zbioru liczb wymiernych nie jest całkowal- na na [0, 1]..

[r]

Za każde poprawne rozwiązanie inne niż w kluczu przyznajemy maksymalną

Prusa 11/12 1900 Wymiana pokrycia dachowego, przemurowanie I kominów, częściowa wymiana stolarki okiennej i drzwiowej, wykonanie docieplenia budynku, rozbiórka budynków

o podatku dochodowym od osób fizycznych (Dz. zm.) pomniejszone o koszty uzyskania przychodu, należny podatek dochodowy od osób fizycznych, składki na ubezpieczenia

Zamawiający zamawia, a Wykonawca zobowiązuje się na warunkach określonych w niniejszej umowie wykonać zlecenie polegające na przeprowadzeniu rekrutacji i wyborze 60

Tymczasem po 2000 roku w nurcie tym pojawiają się również filmy, które są w stanie „unieść” własną ideę, jak choćby Wesele Wojciecha Smarzow- skiego, które –

podlegające opodatkowaniu na zasadach określonych w art. zm.) pomniejszone o koszty uzyskania przychodu, należny podatek dochodowy od osób fizycznych, składki na ubezpieczenia