Rozdzielone obliczenia Java zarządzanie procesami, przepływami (przepływami)
a) Temat: Procesy, przepływy (noce)Zadania: Zestaw program (proces), który równocześnie uruchamia dwa przepływy tła (noce).Wykorzystaj synchronizację przepływów na wspólnym zasobie.Opis pracy programu:
Podczas uruchomienia programu przyciskem "Start" równocześnie uruchamiane są dwa strumienia Tthread1 i TThread2, które próbują ustawić "równanie" w swojej pozycji (1-w pozycji 10, 2-w pozycji 90)
W przepływach można zmienić priorytety, a w zależności od priorytetu przewagę przypisuje się albo do jednego, albo do innego przepływu
Po zakończeniu programu przepływy znikają.
b) Temat: Zarządzanie procesami, strumieniami w sekcji krytycznej za pomocą blokującej zmiennej (najprostszej semaphory )
Wykorzystanie programu zadań 1
W programie wprowadzamy następujące zmiany:
Wprowadzenie globalnej zmiennej do semaphora typu integer
Rozmieszczenie przycisków PUSK 1 i PUSK 2 do uruchomienia pierwszego i drugiego przepływu (nocy), przed tym ustawiona jest siemafor w pozycji "zatrudnionej"
Rozmieszczenie przycisków STOP 1 i STOP 2 do zatrzymania pierwszego i drugiego przepływu (nocy), ustaw się semaphor w pozycji "wolny"
Przycisk PUSK 1 daje najniższy priorytet dla pierwszego przepływu
Przycisk PUSK 2 daje pierwszeństwo dla drugiego przepływu
Opis pracy programu
Przepływ zaczyna się stopniowo.Jeśli jeden z przepływów działa, drugi nie może być uruchomiony, ponieważ krytyczna sekcja jest zajęta i wyświetla wiadomość "Zatrzymany przez przepływ"
Przycisk Stop uwalnia sekcję krytyczną i usuwa bieżący strumień.Przycisk PUSK uruchamia strumień i blokuje ciśnienie przycisku STOP innego strumienia
Prawidłowa praca programu polega na następującym: Przycisk PUSK 1 ustawia bieg w pozycji 10, tam jest i pozostaje, dopóki nie naciśnij przycisk PUSK 2, który ustawia go w stanie 90
Zwróć uwagę !Semaphor (blokowa zmienna) - globalna zmienna, dostępna dla obu przepływów, dlatego działają one w jednym przestrzeni adresowej (danych procesów).Gdyby Semaphor regulował interakcje nie przepływów, ale procesów, to powinien być globalny w odniesieniu do nich i w ten sposób znajdować się w adresowym pomieszczeniu systemu operacyjnego, który zarządza procesami.
Opinia zleceniodawcy o współpracy z Oleksandr Denisov
Rozdzielone obliczenia Java zarządzanie procesami, przepływami (przepływami)Wszystko świetnie, praca wykonana jest dobrze i w porę.Wesoło pracować!
![]()
Opinia freelancera o współpracy z ze zleceniodawcą
Rozdzielone obliczenia Java zarządzanie procesami, przepływami (przepływami)Wszystko jest świetne!
Szybkie zapytania, szybkie odpowiedzi.
Umowa przebiegła świetnie!
-
51 3 0 Dzień dobry !
Czy zadaniem jest wszystko, co zostało dane? Czy istnieje dokładniejszy opis tego, co należy zrobić?
Może to jest to, czego potrzebujesz?
Animacja tutaj działa niewłaściwie, ale poprawię, jeśli tak.
HTTPS://youtu.be/d1H6-RiWeug
UPD
A może bliżej prawdy.
HTTPS://youtu.be/mGQwYu4SoIA
Aktualne zlecenia dla freelancerów w kategorii Java
Tworzenie aplikacjiChcę stworzyć aplikację mobilną do komunikacji, w aplikacji ma być audio, wideo rozmowa, tworzenie grupowych czatów, możliwość synchronizacji z kontaktami telefonu, ustawieniami konta: powiązanie przez e-mail, 2fa, numer telefonu, możliwość dostosowywania powiadomień aplikacji,… Java, Python ∙ 3 dni 18 godzin temu ∙ 38 ofert |