w11-12.pdf

(379 KB) Pobierz
Microsoft PowerPoint - w11-12.ppt
Wykład 11-12
Wątki
Programy jedno- i wielowątkowe
Tworzenie wątków
Cykl życia wątku w Javie
Priorytety i zarządzanie wątkami
Metody synchronizowane
Metody wait , notify i notifyAll
Producent/konsument z synchronizacją
Producent/konsument z buforem cyklicznym
645495197.003.png
Programy jedno- i wielowątkowe
Jednowątkowy program
sekwencyjny (ang. singlethreaded)
Program wielowątkowy
(ang. multithreaded)
645495197.004.png 645495197.005.png
Czego oczekiwać od programów współbieżnych?
•Zwększenie efektywności na sprzęcie wieloprocesorowym
–równoległość.
• Efektywniejsze wykonywanie aplikacji
– operacja we/wy blokuje tylko jeden wątek.
•Lepsza współpraca z użytkownikiwem
–wątki z wyższym priorytetem do obsługi żądań
użytkownika.
• Czytelniejsza struktura programu
– dla programów współpracujących ze środowiskiem i
kontrolujących różne ciągi czynności.
645495197.006.png
Procesy i wątki w systemie operacyjnym
Proces w SO
Dane
Kod
Deskryptor
Stos
Stos
Stos
Deskryptor
Deskryptor
Deskryptor
Wątek 1
Wątek 2
Wątek n
Proces (ciężki) w systemie operacyjnym jest reprezentowany przez swój kod,
dane i stan rejestrów maszyny (w deskryptorze). W ramach procesu może
działać wiele wątków (lekkich procesów) .
645495197.001.png
Procesy i wątki w systemie operacyjnym
Systemy operacyjne zapewniają procesom wzajemną
ochronę, jednak tworzenie i uruchamianie procesu
jest kosztowne.
Wątek (ang. thread, lightweight process) podobnie
jak proces podąża oddzielną ścieżką wykonania,
jednak system operacyjny nie zapewnia separacji
wątków. Dzięki temu tworzenie i zarządzanie wątkami
jest szybkie.
645495197.002.png
Zgłoś jeśli naruszono regulamin