Podsumowanie testu

Wilusz_PWiR

Podsumowanie testu

Wilusz_PWiR

Twój wynik

Rozwiąż ponownie
Moja historia
Pytanie 1
Jak działa metoda Thread.join()?
Aktualny wątek na rozpoczęcie pracy wątku na którym użyto metody join()
Wszystkie wątki zostaną rozpoczęte natychmiastowo po użyciu metody join()
Wszystkie wątki zostaną zakończone po pewnym okresie czasu wpisanym w argumencie metody join()
Aktualny wątek czeka na zakończenie wątku na którym metoda join została wywołana
Pytanie 2
Jaki cykl życia przyjmuje wątek po użyciu na nim metody Thread.sleep()?
NEW
RUNNABLE
TIMED_WAITING
WAITING
Pytanie 3
Jak działa metoda Thread.start()?
Powoduje wykonanie kodu w metodzie main()
Powoduje wykonanie kodu w metodzie run()
Tworzy nowy wątek
Kończy działanie wątku
Pytanie 4
Semafor binarny jest znany jako:
bramka logiczna
adapter
mutex
kontroler
Pytanie 5
Ile istnieje stanów filozofa w problemie ucztujących filozofów?
3
Jest to wartość ruchoma.
5
4
Pytanie 6
Z jakiego powodu pojawia się zakleszczenie w problemie ucztujących filozofów?
Z powodu błędu programistycznego dotyczącego importowania bibliotek
Z powodu braku komunikacji między filozofami
Z powodu skorzystania ze złych pałeczek
Z powodu zbyt małej ilości jedzenia
Pytanie 7
W dowolnym momencie czasowym z metod monitora może korzystać:
2 wątki na raz
1 wątek na raz
Dowolna ilość wątków na raz
żadne z powyższych
Pytanie 8
Muteksy to inaczej:
Inna nazwa na zakleszczenie (ang. Deadlock)
Mechanizm usprawniający dziedziczenie wielobazowe w Javie.
Algorytmy wzajemnego wykluczania
Wywłaszczenie zasobu
Pytanie 9
W jakim języku po raz pierwszy zostały zaimplementowane monitory?:
Java
Concurrent Pascal
C++
C#
Pytanie 10
Ile maksymalnie procesów może obsłużyć algorytm Petersona
Jeden
Cztery
Dwa
Trzy
Pytanie 11
Race condition występuje kiedy:
Procesy rywalizują ze sobą, który pierwszy się wykona.
Kod jest maksymalnie zoptymalizowany.
Synchronizacja spełnia swoją funkcję.
Dwa lub więcej procesów mają dostęp do udostępnionych zmiennych i chcą je zmienić w tym samym czasie.
Pytanie 12
Semafory binarne są znane jako:
Mutex lock
Kontrolery
Adaptery
Bramki logiczne
Pytanie 13
W której wersji Javy wprowadzono framework Lock?
Java 3
Java 2
Istniał w Javie od zawsze
Java 5
Pytanie 14
W jakim pakiecie Javy można znaleźć interfejs Lock?
java.util.function
java.util.arrays
java.util.lock
java.util.concurrent
Pytanie 15
Które z wymienionych rozwiązań jest najbardziej efektywne?
Oba mają taką samą efektywność
Nie da się ich porównać
synchronized
lock
Pytanie 16
Sekcja krytyczna jest pusta, kiedy:
lock = 15
lock = 1
lock = null
lock = 0
Pytanie 17
Pseudokod while(lock != 0); lock = 1; w mechanizmie synchronizacji “zmiennej blokującej” jest charakterystyczny dla:
sekcji wyjściowej
sekcji wejściowej
końca sekcji krytycznej
sekcji krytycznej
Pytanie 18
Na podstawie których podstawowych parametrów jest oceniany każdy mechanizm synchronizacji?
ograniczone wykluczenie, wzajemne oczekiwanie
szybkość wykonania, brak regresu
wzajemne wykluczenie, postęp, ograniczone oczekiwanie
brak wykluczenia, kompleksowość mechanizmu
Pytanie 19
Co to jest programowanie wielowątkowe?
Jest to proces, w którym jednocześnie działają dwa różne procesy.
Jest to proces, w którym dwie lub więcej części tego samego procesu działają jednocześnie.
Jest to proces, w którym wiele różnych procesów ma dostęp do tych samych informacji.
Jest to proces, w którym pojedynczy proces może uzyskać dostęp do informacji z wielu źródeł.
Pytanie 20
Czym jest synchronizacja w odniesieniu do wątku?
Jest to proces radzenia sobie z sytuacjami, w których dwa lub więcej wątków potrzebuje dostępu do udostępnionego zasobu.
Jest to proces, dzięki któremu metoda ma dostęp do wielu różnych wątków jednocześnie.
Jest to proces, dzięki któremu wiele wątków może jednocześnie uzyskiwać dostęp do tego samego udostępnionego zasobu.
Jest to metoda, która pozwala wielu wątkom uzyskać dostęp do wszelkich wymaganych informacji.
Pytanie 21
Synchronizacja wątków w procesie będzie wymagana, gdy:
Wszystkie odpowiedzi są poprawne.
Wszystkie wątki współużytkują te same zmienne globalne.
Wszystkie wątki współużytkują te same pliki.
Wszystkie wątki współużytkują tę samą przestrzeń adresową.
Pytanie 22
Co się stanie gdy producent spróbuje wczytać dane a bufor jest pełny?
Nastąpi zakończenie procesu i program zgłosi błąd
Odpowiedzi A i C są prawidłowe
Dane zostaną usunięte
Producent zostanie uśpiony
Pytanie 23
Czym jest semafor?
Kontrolą dostępu do współdzielonych zasobów przy użyciu licznika
Weryfikacją dostępu dla użytkownika na podstawie loginu i hasła
Sposobem inkrementacji licznika pobranych danych
Klasą wykorzystywaną przy tworzeniu interfejsów graficznych
Pytanie 24
Jakie operacje odnoszą się względem dostępu do semafora?
Sleep(), Start() oraz Idle()
Low(), High(), Increment() oraz Decrement()
Wait() oraz Signal()
Run() oraz Stop()
Pytanie 25
Gdy wątek otrzymuje dostęp do danych za pomocą semafora:
Semafor ustawia swój licznik na 1.
Semafor zmniejsza swój licznik;
Semafor nie robi nic z licznikiem;
Semafor zwiększa swój licznik;
Pytanie 26
Co się stanie gdy ten sam wątek wywoła funkcje acquire() dwa razy z rzędu na semaforze binarnym?
Licznik zmniejszy się o 2;
Wątek zachowa się tak samo jak przy pojedynczym wywołaniu.
Licznik zwiększy się o 2;
Dojdzie do zakluczenia (deadlock), jeżeli inny wątek nie wywoła w między czasie metody release();
Pytanie 27
Wywołując metodę release():
Wartość licznika nie zmienia się;
Licznik zwiększa się o 1 i wątek ma dostęp do danych
Licznik zwiększa się o 1, a wątek, który oczekiwał w kolejce może mieć dostęp do danych;
Licznik zmniejsza się o 1 i wątek ma dostęp do danych;
Pytanie 28
pytanie 10
Pytanie 29
pytanie 10
Pytanie 30
pytanie 10
Pytanie 31
Jak nazywa się metoda służąca do obudzenia wątku oczekującego na dostęp?
inform
wake
notify
żadne z powyższych
Pytanie 32
Jak nazywa się metoda, która powoduje że dany wątek rozpoczyna oczekiwanie na obudzenie przez inny wątek?
hibernate
expect
sleep
wait
Pytanie 33
Jak nazywa się słowo kluczowe, które zapewnia, że tylko jeden wątek jest aktywny w jednym czasie?
parallel
harmonized
synchronized
sync
Pytanie 34
Wywołując metodę release() na semaforze:
Licznik ustawiany jest na 1;
Licznik zwiększa się o 1;
Licznik zwiększa się o 1, a wątek oczekujący zyskuje dostęp do zasobu;
Licznik ustawiany jest na 0;
Pytanie 35
Jaka jest poprawna składnia inkrementacji zmiennej x typu AtomicInteger w Javie?
x.increment();
x = x+1;
x++
x.getAndIncrement();
Pytanie 36
Jak nazywa się metoda, która pauzuje wątek?
kill
wait
interrupt
sleep
Pytanie 37
Ile pisarzy może jednocześnie korzystać z zasobu stosując rozwiązanie monitorów?
nieskończenie wiele
żadne z powyższych
zależy to od rodzaju zasobu
dokładnie jeden
Pytanie 38
Co następuje po otrzymaniu dostępu do zasobu przez jednego z czytelników w rozwiązaniu monitorów?
pozostali czytelnicy oczekują na opuszczenie zasobu przez obecnego czytelnika
równocześnie jeden pisarz otrzymuje dostęp do zasobu
czytelnik może korzystać tak długo z zasobu, aż w kolejce pojawi się pisarz
pozostali czytelnicy również otrzymują dostęp
Pytanie 39
Wskaż korzyść wynikającą z użycia rozwiązania monitorów względem semaforów?
mniejsza podatność na błędy
wszystkie z powyższych
mniejsze skomplikowanie kodu
rozwiązanie jest łatwiejsze do zrozumienia
Pytanie 40
Gdy wątek nie potrzebuje już dostępu do współdzielonego zasobu, w celu zwolnienia pozwolenia wywoływana jest metoda:
availablePermits()
reducePermits(int reduction)
release()
żadne z powyższych
Pytanie 41
Wątek, który chce uzyskać dostęp do wspólnego zasobu, próbuje zdobyć pozwolenie. W tym celu wykorzystana zostanie metoda:
join()
drainPermits()
acquire()
getPermit()
Pytanie 42
W celu sprawdzenia dostępnej ilości zezwoleń, należy użyć metody:
isAvailable()
semaphore(int permits, boolean isFair)
tryAcquire()
availablePermits()
Pytanie 43
Semafor jest to _______ do rozwiązywania problemu sekcji krytycznej
zmienna
program
hardware
żadne z powyższych
Pytanie 44
Operacja oczekiwania semafora działa w zasadzie na podstawowe wywołanie systemowe _______.
Wait ()
Stop ()
Block ()
Hold ()
Pytanie 45
Semafor zliczający:
Nie można go używać do kontrolowania dostępu do najważniejszych sekcji
Może być modyfikowany jednocześnie przez wiele wątków.
Może służyć do wyeliminowania zajętego oczekiwania
Jest zmienną całkowitą
Pytanie 46
Które z poniższych stwierdzeń dotyczących synchronizacji jest prawdziwe?
Nie występuje w Javie.
Innym słowem oznaczającym blokadę jest monitor.
Synchronizacja służy do koordynowania dostępu do obiektów współdzielonych przez wiele programów.
Zapewnia poprawę wydajności.
Pytanie 47
Które z poniższych stwierdzeń jest prawdziwe?
Wątek użytkownika nie może zatrzymać żadnego z wątków.
Program kończy się, gdy wyłączymy komputer.
Program kończy się, gdy kończą się wszystkie wątki niebędące demonami.
Program kończy się, upłynie zadeklarowany czas.
Pytanie 48
Słowo kluczowe ,, synchronized”, można zastosować do:
Coś, czego nie ma w C++.
Kolano głównej rury odprowadzającej ścieki do kolektora oczyszczającego
Metody instancji klasy
Nowy mechanizm Javy wprowadzony w jej ostatniej wersji.
Pytanie 49
Pytanie 17
Pytanie 50
Pytanie 17
Pytanie 51
Pytanie 17
Pytanie 52
aka metoda służy do usypiania wątku?
wait()
join()
notify()
notifyAll()
Pytanie 53
Kiedy wątek uśpiony metodą wait() się uruchamia?
Po wywołaniu metody notify() w innym wątku oraz jego zakończeniu
Po 10 sekundach od wywołania wait()
Po wywołaniu metody notify() w tym samym wątku
Natychmiast po wywołaniu metody notify() w innym wątku
Pytanie 54
Ile wątków budzi metoda notifyAll()?
Wszystkie w ramach tego samego obiektu
Wszystkie w całym programie
Maksymalnie 27
Dokładnie 1
Pytanie 55
Dokładność czasu na który usypiany jest wątek w metodzie sleep()
Żadne z powyższych
Zawsze jest taka sama
Można ustanowić ją przy uruchamianiu metody
Zależy od precyzji timerów systemowych
Pytanie 56
Co dzieje się w metodzie yield() jeśli nie zostanie znaleziony wątek o wyższym priorytecie?
Taka sytuacja nie jest możliwa
Wykonywany jest wątek główny
Losowo wybierany jest wątek, który będzie uruchamiany
Dotychczasowy wątek kontynuuje wykonywanie
Pytanie 57
Metoda sleep() usypia wykonywanie wątku na określony czas, jednostka w której podawany jest ten czas to:
ilisekundy i (nieobowiązkowo) nanosekundy
Żadne z powyższych
Nanosekundy
Sekundy
Pytanie 58
Czy wykonanie tego samego kodu źródłowego może dać różne rezultaty?
żadne z powyższych
Tak
Tak, ale tylko na procesorach starszych niż 35 lat
Nie
Pytanie 59
Do czego służy metoda isAlive()
do wskrzeszenia zakończonego procesu
do zabicia trwającego procesu
do sprawdzenia czy dany proces ciągle się wykonuje
jest to mechanizm usprawniający dziedziczenie wielobazowe w Javie.
Pytanie 60
Aby rozpocząć wykonywanie się nowego wątku należy użyć metody:
start()
beginFun()
isAlive()
żadne z powyższych
Pytanie 61
Co zwróci metoda Semafor.toString()
identyfikator oraz liczbę obecnych pozwoleń
identyfikator semafora
liczbę obecnych pozwoleń w postaci "Permits=4"
żadne z powyższych
Pytanie 62
Czy liczba pozwoleń jest stała?
tak, jest ustalana przez system
nie i jest ustalana przez użytkownika
semafory nie przechowują pozwoleń
nie, ale jest ustalana przez system
Pytanie 63
Jaki jest efekt metody acquire():
zmniejszenie liczby zezwoleń i pozwolenie na dostęp wątku do zasobu
zwiększenie liczby zezwoleń i zablokowanie dostępu do zasobu
zwraca obecną liczbę pozwoleń
żadne z powyższych
Pytanie 64
Jaką wartość musi mieć licznik „hold count” w ReentrantLock, aby współdzielone zasoby były wolne?
hold count = 3
hold count = 1
hold count = 2
hold count = 0
Pytanie 65
Jaki interfejs implementuje klasa ReentrantLock?
Interfejs Lock
Interfejs Comparable
Interfejs Serializable
Interfejs Runnable
Pytanie 66
W jakim bloku musi być umieszczona metoda unlock() w ReentrantLock, tak aby nie doszło do żadnych błędów:
W bloku „catch”
W bloku „finally”
W bloku „if”
Żadna z powyższych nie jest prawidłowa
Pytanie 67
Do czego służy mechanizm Executors?
Uruchamianie zadań synchronicznych.
Uruchamianie wątków wewnątrz puli.
Tworzenie puli wątków.
Jest to interfejs.
Pytanie 68
Ile wątków w jednym czasie przyjmuje pula wątków?
Więcej niż ilość zdefiniowana w trakcie tworzenia puli wątków.
Nie więcej niż ilość zdefiniowana w trakcie tworzenia puli wątków.
Każdy rodzaj puli przyjmuje jeden wątek.
Nie jesteśmy w stanie tego określić.
Pytanie 69
Jaka jest dobra praktyka pracując z pulami wątków?
Dobre rozumienie i właściwy dobór zadań do strojenia puli wątków.
Dodawanie wątków do puli czekających na wynik zadań będących w kolejce.
Dodawanie wątków po wywołaniu shutdown() na puli wątów.
Dodawanie wiele wątków wykonujących długie operacje.
Pytanie 70
Za co odpowiedzialna jest metoda notify()?
żadne z powyższych
Powiadomienie i wybudzenie wszystkich oczekujących wątków
Dodanie aktualnego wątku do zbioru powiadamianych wątków
Powiadomienie i wybudzenie jednego z oczekujących wątków
Pytanie 71
Jednym ze sposobów aby wątek znalazł się w stanie WAITING jest?
Object.wait()
Thread.join()
Object.notifyAll()
Object.notify()
Pytanie 72
Do jakiej klasy należy metoda notifyAll()?:
Object
Thread
Field
Żadne z powyższych
Pytanie 73
Którą z metod uruchomić oczekiwanie na zakończenie CountDownLatch?
waittillend().
whenfinish();
await();
wait();
Pytanie 74
Którą z metod zmniejszyć licznik po wykonaniu pracy przez każdy serwis?
decrease();
down();
countDown();
minus().
Pytanie 75
Którą z metod otrzymamy aktualny stan licznika?
count();
getCount();
amount();
howmuch().
Pytanie 76
Która z metod zmieni stan wątku thread 1 na Terminated?
Thread1.join(thread2)
Thread2.join(thread1)
Thraed1.kill()
Thread1.end
Pytanie 77
W jakim stanie znajduje się watke po wywołaniu metody .start()?
Waiting
Started
New
Runnable
Pytanie 78
Jak nazywa się metoda, która wprowadza wątek w stan oczekiwania czasowego?
wait
kill
interrupt
sleep
Pytanie 79
Kiedy InterruptedException nie wystąpi podczas wywołania na wątku metody interrupt()?
kiedy wątek jest zablokowany metodą join(), wait() lub sleep()
kiedy wątek nie jest zablokowany metodami join(), wait() ani sleep()
InterruptedException występuje zawsze, kiedy użyjemy metody interrupt()
nigdy – w przypadku tej metody wyrzucany jest wyjątek RuntimeException
Pytanie 80
W jakiej klasie dostępna jest metoda interrupt()?
nie ma takiej metody
Runtime
Thread
Object
Pytanie 81
Która metoda należy do klasy Object?
wait()
join()
start()
sleep()
Pytanie 82
Każdy proces posiada fragment kodu nazywany ______, w którym m.in. może on zmieniać ogólnodostępne zmienne, aktualizować tablice, nadpisywać pliki.
Krytyczna sekcja
Sekcja wyjściowa
Niekrytyczna sekcja
Sekcja wejściowa
Pytanie 83
Rozwiązanie problemu krytycznej sekcji musi spełniać trzy z podanych wymagań: I. Wzajemne wykluczanie II. Progres III. Nieograniczone oczekiwanie IV. Ograniczone oczekiwanie
B. II, III, IV
C. I, III, IV
D. I, II, IV
A. I, II, III
Pytanie 84
Które sformułowanie opisuje ograniczone oczekiwanie?
Kiedy wątek wysyła komunikat o chęci wejścia do swojej sekcji krytycznej, jest ograniczona ilość wątków, które mogą przed nim wejść do krytycznej sekcji, tak by wątek mógł wejść do swojej krytycznej sekcji.
Jeśli żaden wątek nie wykonuje swojej krytycznej sekcji, a są wątki, które chcą wejść do swojej krytycznej sekcji, to jeden z nich z nich na pewno wejdzie do krytycznej sekcji.
Kiedy wątek wykonuje swoją krytyczną sekcji, żaden inny wątek nie może wykonywać swojej krytycznej sesji.
Wiele procesów ma dostęp oraz możliwość zmiany danych jednocześnie.
Pytanie 85
W jakiej kolejności dane są dodawane do kolejki (struktura danych), a w jakiej kolejności odbywa się ich pobieranie?
Dane są dodawane na początek kolejki, a pobierane z końca kolejki
Dane są dodawane na koniec kolejki, a pobierane z początku kolejki
Dane są dodawane na koniec kolejki i pobierane z końca kolejki
Dane są dodawane na początek kolejki i pobierane z początku kolejki
Pytanie 86
Ile maksymalnie procesów może być wykonywanych współbieżnie, aby możliwe było zapewnienie synchronizacji przy pomocy algorytmu Petersona?
4
2
nieskończenie wiele
3
Pytanie 87
Które sformułowanie opisuje pojęcie wzajemnego wykluczania?
Żadne z powyższych.
Jeśli jeden proces wykonuje kod w swojej sekcji krytycznej, to w tym czasie inne procesy nie mogą wykonywać kodu w swoich sekcjach krytycznych.
Żaden proces nie może uzyskać dostępu ani modyfikować tych samych danych jednocześnie.
Kilka procesów może jednocześnie uzyskać dostęp do tych samych danych oraz je modyfikować.
Pytanie 88
Która z metod klasy Thread nadaje priorytet wątkowi?
setDaemon()
getPriority()
setName()
setPriority()
Pytanie 89
“Wszystkie wątki są zablokowane, program nigdy się nie wykona.” - do której sytuacji odnosi się to zdanie?
wszystkie są poprawne
zagłodzenie
wielowątkowość
zakleszczenie
Pytanie 90
Która z metod klasy Thread jawnie wywołuje rozpoczęcie wątku?
join()
interrupt()
start()
run()
Pytanie 91
Co to jest Semafor?
Żadne z powyższych
Procedura
Chroniona zmienna
Kolejka procesów
Pytanie 92
Co to jest zakleszczenie?
Zapętlenie programu
Mechanizm pozwalający na zmniejszenie zużycia pamięci RAM
Sytuacja, w której co najmniej dwie różne akcje czekają na siebie nawzajem
Błąd zwracany przez program
Pytanie 93
Czym jest Mutex:
Jest to inny termin na określenie zakleszczenia
Jest fragmentem kodu, w którym wątki (lub procesy) odwołują się do wspólnego zasobu.
Jest strukturą danych
Jest blokadą, którą może uzyskać tylko jeden wątek
Pytanie 94
int TestAndSet(int &lock) { int initial = lock; lock = 1; return initial; } void enter_CS(X) { while test-and-set(X) ; } void leave_CS(X) { X = 0; } W powyższym rozwiązaniu X jest lokalizacją pamięci związaną z CS i jest inicjowana na 0. Które z poniższych zdań jest prawdziwe?
Więcej niż jeden proces może wejść do sekcji krytycznej jednocześnie
Procesy wchodzą do sekcji krytycznej w kolejności FIFO
Powyższe rozwiązanie problemu sekcji krytycznej jest pozbawione impasu
Procesy wchodzą do sekcji krytycznej w kolejności losowej
Pytanie 95
W jakich rodzajach procesów występuje problem synchronizacji procesów?
we wszystkich powyższych
w procesach systemowych
w procesach kooperacyjnych
w procesach niezależnych
Pytanie 96
Ile wartości może przyjąć zmienna blokująca w rozwiązaniu TestAndSet?
4
1
3
2
Pytanie 97
Jaki powinien być stosunek wywołań metod lock() do metod unlock() w obiekcie klasy Lock?
Wywołań metody unlock() powinno być więcej od lock()
Wywołań metody lock() powinno być więcej od unlock()
Liczba wywołań metody lock() powinna zawsze być równa liczbie wywołań metody unlock()
żadne z powyższych
Pytanie 98
Kiedy jesteśmy w stanie zobaczyć listę oczekujących wątków?
Nigdy nie jest to możliwe
Jedynie wykorzystując Lock Framework
Wykorzystując Lock Framework lub standardową synchronizację
Jedynie wykorzystując standardową synchronizację
Pytanie 99
Czy w przypadku kodu Lock.lock (); myMethod (); Lock.unlock (); gdy metoda myMethod() natrafi na wyjątek (Exception) będzie możliwe zwolnienie blokady (Lock.unlock())?
Nie, zwolnienie blokady będzie zawsze niemożliwe w takim przypadku
To zależy od ciała metody myMethod()
Tak, zawsze nastąpi zwolnienie blokady
Taki kod nie będzie chciał się skompilować
Pytanie 100
Czy inny proces może użyć zablokowanej zmiennej, nienależącej do niego?
Tak, w każdym dowolnym momencie
Nie, zmienna została zablokowana na zawsze
Nie, musi poczekać, aż zmienna zostanie zwolniona
Tylko jeżeli proces aktualnie wykorzystujący zmienną na to pozwoli
Pytanie 101
Ile najwięcej procesów może obsłużyć mechanizm blokowania zmiennych?
Tylko 1
Żadna odpowiedź nie jest prawdziwa
Więcej niż 2
Max 2
Pytanie 102
Na podstawie jakich parametrów oceniany jest mechanizm synchronizacji?
Ograniczone oczekiwanie
Postęp
Wszystkie powyższe
Wzajemne wykluczanie
Pytanie 103
Czym jest semafor?
metoda, dzięki której uruchamiamy wątek
sytuacja, w której wątek nie może otrzymać dostępu do danych
metoda kontroli dostępu przez wiele procesów do wspólnego zasobu
zatrzymanie wykonania wątku
Pytanie 104
Czym jest deadlock?
wątek działający w tle
sytuacja, w której wątki wzajemnie blokują zasoby potrzebne do działania
uśpiony wątek
metoda, która wstrzymuje wątek, dopóki inny wątek się nie wykona
Pytanie 105
Jak działa metoda acquire()?
usypia wątek na podaną długość czasu w milisekundach
powiadamia i wybudza wszystkie oczekujące wątki
blokuje dostęp do zasobów, dopóki nie zostanie uzyskana zgoda
powiadamia i wybudza jeden oczekujący wątek
Pytanie 106
Którą metodę musi zdefiniować klasa implementująca interfejs java.lang.Runnable?
żadną z powyższych
public void run();
void run();
public void start();
Pytanie 107
Jak nazywa się metoda używana do uruchamiania wykonywania wątku?
resume();
init();
start();
run();
Pytanie 108
Która z poniższych metod nie może bezpośrednio spowodować, że wątek przestanie działać?
Wywołanie metody sleep() na obiekcie Thread.
Wywołanie metody notify() na obiekcie.
Wywołanie metody SetPriority() na obiekcie Thread.
Wywołanie metody wait() na obiekcie.
Pytanie 109
Czego abstrakcją jest pisarz?
Programisty
Nie jest abstrakcją
Procesu odczytującego zasób
Procesu edytującego zasób
Pytanie 110
W wariancie faworyzującym czytelników zagłodzenie może dotyczyć:
Jedynie pisarza
Pisarza oraz czytelnika
Jedynie czytelnika
Zasobu
Pytanie 111
W wariancie faworyzującym czytelników dostęp wyłączny może uzyskać:
Pisarz lub czytelnik
Zasób
Jedynie pisarz
Jedynie czytelnik
Pytanie 112
Która paczka zawiera klasę semafora?
java.util.semaphore
java.lang.math
java.util.concurrent
żadna z powyższych
Pytanie 113
Jaką funkcję należy wywołać, aby wątek miał dostęp do zasobów?
sem()
release()
żadne z powyższych
acquire()
Pytanie 114
Co określa parametr num w konstruktorze?
liczbę początkowych zezwoleń na dostęp do zasobów
stan licznika
żadne z powyższych
obecną iterację
Pytanie 115
Jakie wartości może przyjmować Semafor binarny?
Od 0 do 10
żadne z powyższych
Wszystkie całkowite
0 i 1
Pytanie 116
Jakie wartości może przyjmować Semafor zliczeniowy?
Całkowite dodatnie
Całkowite nieujemne
0 i 1
Całkowite ujemne
Pytanie 117
Semafor podczas inicjowania przyjmuje wartość:
-1
0
2
1
Pytanie 118
Synchronizacja w Javie jest możliwa dzięki:
metodzie Thread.s
wszystkie powyższe odpowiedzi są poprawne
bibliotece jawa.sync
słowie kluczowemu synchronized
Pytanie 119
Gdzie nie można użyć bloku synchronized?
żadne z powyższych
w funkcji
w metodzie
odpowiedzi a i b są poprawne
Pytanie 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:
żadne z powyższych
jest wykonywany jednocześnie z pierwszym wątkiem
pomaga wykonywać instrukcje pierwszemu wątkowi
zostaje zawieszony
Pytanie 121
Jak można poradzić sobie z problemem poślizgu?
żadne z powyższych
Zmieniając pętlę while na do while
Blokując dane współdzielone za pomocą zmiennej statycznej
Jest to niemożliwe
Pytanie 122
Kiedy może wystąpić problem poślizgu?
Tylko w sytuacji gdy jeden z wątków jest wstrzymywany funkcją wait()
Kiedy dwa wątki jednocześnie próbują zapisać coś w tym samym miejscu w pamięci
W sytuacji, gdy wątek zostaje zawieszony po sprawdzeniu warunku a przed wykonaniem czynności z nim związanych
Kiedy dwa wątki próbują skorzystać z zablokowanego zasobu
Pytanie 123
Kiedy dane zostają zwolnione przez wątek działających na nich?
Kiedy drugi wątek poprosi o ich zwolnienie
Niezwłocznie po ich zablokowaniu
Kiedy wątek blokujący ukończy wszelkie działania na danych
Nigdy
Pytanie 124
Kiedy wiedza o poślizgu jest przydatna podczas pracy nad aplikacją wielowątkową?
Kiedy otrzymany wynik nie jest zgodny z naszym oczekiwaniem
Na poziomie projektowania architektury aplikacji
Wiedza ta nie przydaje się
Podczas optymalizacji kodu
Pytanie 125
Czym jest StringIndexOutOfBoundsException?
Metodą
Interfejsem
Komentarzem
Wyjątkiem
Pytanie 126
Jaką metodą klasy Thread można uruchomić wykonywanie wątku?
runThread()
run()
start()
startThread()
Pytanie 127
Co zwraca metoda notify() klasy Object?
String
boolean
int
nie zwraca żadnej wartości
Pytanie 128
Jakie są wymagania interfejsu Runnable:
println()
toString()
run()
main()
Pytanie 129
Jaki typ zwraca join() z klasy Thread?
Thread
List
nie zwraca nic, void
String
Pytanie 130
Jaki typ zwraca isAlive() z klasy Thread?
Integer
String
boolean
Thread
Pytanie 131
Jaki typ Exception rzuci metoda join() z klasy Thread jeżeli zostanie przerwany wątek na którym została wykonana:
InterruptedException
Nie rzuci wyjątku
NullPointerException
ExecutionException
Pytanie 132
Czym są semafory?
Rodzaj klasy w javie
Mechanizm javy wprowadzony w ostatniej wersji
Sposobem wywołania metody
To liczniki umożliwiające dostęp do sekcji krytycznej aplikacji jednemu lub wielu wątkom.
Pytanie 133
Po co się tworzy wątki?
W celu zapobiegnięciu zakleszczeń
Przyspiesza działanie programu
Tworzenie wątków umożliwia podział aplikacji na niezależne podprogramy, wykonujące współbieżnie określone zadania.
Żeby odciążyć pracę procesora
Pytanie 134
W jakim celu stosujemy semafory?
Żeby łatwiej odczytywać kod programu
Żeby ograniczyć błędy
Aby uzyskać dostęp do sekcji krytycznej
W celu synchronizacji wątków i zapobiegania szkodliwej rywalizacji.
Pytanie 135
Jaki problem jest rozwiązany przy stosowaniu tego rozwiązania?
Zablokowanie
Opóźnienie
Spowolnienie
Zakleszczenie
Pytanie 136
Jakim słowem oznaczona jest sekcja krytyczna?
Final
Session
Critical
Synchronized
Pytanie 137
Głównym zadaniem monitora jest:
Wykonywanie instrukcji
Utworzenie graficznego interfejsu programu
Monitorowanie zmiennych
Kontrolowanie dostępu do sekcji kodu
Pytanie 138
Do czego może doprowadzić wystąpienie błędnego stanu?
Do zgłoszenia wyjątku i przerwania wykonania
Żadne z powyższych
Do nieskończonego zapętlenia wykonania działania programu
Do zabicia wątku
Pytanie 139
Jak można w łatwy sposób doprowadzić do wystąpienia błędu stanu?
Zgłaszając wyjątek w trakcie wykonania kodu jednego z wątków
Usypiając wątek po sprawdzeniu warunku przed przetwarzaniem niezablokowanego zasobu
Uruchamiając wiele wątków przetwarzających ten sam zasób
Blokując zasób przed przetwarzaniem
Pytanie 140
Aby zablokować zasób dla jednego wątku możemy:
Dodać słowo locked definiując zasób
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.
Wykonać metodę lock() na wątku
Sprawić aby wątek dziedziczył z klasy ReentrantLock