Twój wynik: Wilusz_PWiR

Twój wynik

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