Pytania i odpowiedzi (3 / 3)
Wilusz_PWiR
101.
Ile najwięcej procesów może obsłużyć mechanizm blokowania zmiennych?
Więcej niż 2
102.
Na podstawie jakich parametrów oceniany jest mechanizm synchronizacji?
Wszystkie powyższe
103.
Czym jest semafor?
metoda kontroli dostępu przez wiele procesów do wspólnego zasobu
104.
Czym jest deadlock?
sytuacja, w której wątki wzajemnie blokują zasoby potrzebne do działania
105.
Jak działa metoda acquire()?
blokuje dostęp do zasobów, dopóki nie zostanie uzyskana zgoda
106.
Którą metodę musi zdefiniować klasa implementująca interfejs java.lang.Runnable?
public void run();
107.
Jak nazywa się metoda używana do uruchamiania wykonywania wątku?
start();
108.
Która z poniższych metod nie może bezpośrednio spowodować, że wątek przestanie działać?
Wywołanie metody notify() na obiekcie.
109.
Czego abstrakcją jest pisarz?
Procesu edytującego zasób
110.
W wariancie faworyzującym czytelników zagłodzenie może dotyczyć:
Jedynie pisarza
111.
W wariancie faworyzującym czytelników dostęp wyłączny może uzyskać:
Jedynie pisarz
112.
Która paczka zawiera klasę semafora?
java.util.concurrent
113.
Jaką funkcję należy wywołać, aby wątek miał dostęp do zasobów?
acquire()
114.
Co określa parametr num w konstruktorze?
liczbę początkowych zezwoleń na dostęp do zasobów
115.
Jakie wartości może przyjmować Semafor binarny?
0 i 1
116.
Jakie wartości może przyjmować Semafor zliczeniowy?
Całkowite dodatnie
117.
Semafor podczas inicjowania przyjmuje wartość:
1
118.
Synchronizacja w Javie jest możliwa dzięki:
słowie kluczowemu synchronized
119.
Gdzie nie można użyć bloku synchronized?
żadne z powyższych
120.
Kiedy wątek jest wykonywany w bloku synchronized, a inny próbuje uzyskać dostęp do zawartego w nim zasobu to wątek próbujący uzyskać dostęp:
zostaje zawieszony
121.
Jak można poradzić sobie z problemem poślizgu?
Blokując dane współdzielone za pomocą zmiennej statycznej
122.
Kiedy może wystąpić problem poślizgu?
W sytuacji, gdy wątek zostaje zawieszony po sprawdzeniu warunku a przed wykonaniem czynności z nim związanych
123.
Kiedy dane zostają zwolnione przez wątek działających na nich?
Kiedy wątek blokujący ukończy wszelkie działania na danych
124.
Kiedy wiedza o poślizgu jest przydatna podczas pracy nad aplikacją wielowątkową?
Kiedy otrzymany wynik nie jest zgodny z naszym oczekiwaniem
125.
Czym jest StringIndexOutOfBoundsException?
Wyjątkiem
126.
Jaką metodą klasy Thread można uruchomić wykonywanie wątku?
start()
127.
Co zwraca metoda notify() klasy Object?
nie zwraca żadnej wartości
128.
Jakie są wymagania interfejsu Runnable:
run()
129.
Jaki typ zwraca join() z klasy Thread?
nie zwraca nic, void
130.
Jaki typ zwraca isAlive() z klasy Thread?
boolean
131.
Jaki typ Exception rzuci metoda join() z klasy Thread jeżeli zostanie przerwany wątek na którym została wykonana:
InterruptedException
132.
Czym są semafory?
To liczniki umożliwiające dostęp do sekcji krytycznej aplikacji jednemu lub wielu wątkom.
133.
Po co się tworzy wątki?
Tworzenie wątków umożliwia podział aplikacji na niezależne podprogramy, wykonujące współbieżnie określone zadania.
134.
W jakim celu stosujemy semafory?
W celu synchronizacji wątków i zapobiegania szkodliwej rywalizacji.
135.
Jaki problem jest rozwiązany przy stosowaniu tego rozwiązania?
Zakleszczenie
136.
Jakim słowem oznaczona jest sekcja krytyczna?
Synchronized
137.
Głównym zadaniem monitora jest:
Kontrolowanie dostępu do sekcji kodu
138.
Do czego może doprowadzić wystąpienie błędnego stanu?
Do zgłoszenia wyjątku i przerwania wykonania
139.
Jak można w łatwy sposób doprowadzić do wystąpienia błędu stanu?
Usypiając wątek po sprawdzeniu warunku przed przetwarzaniem niezablokowanego zasobu
140.
Aby zablokować zasób dla jednego wątku możemy:
Dodać zmienną informującą o tym że zasób jest zablokowany przyjmująca wartości true lub false i odpowiednio ją obsługiwać przy wykorzystaniu zasobu.