Twój wynik: Wilusz_PWiR

Analiza

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
Aktualny wątek na rozpoczęcie pracy wątku na którym użyto metody join()
Wszystkie wątki zostaną zakończone po pewnym okresie czasu wpisanym w argumencie metody join()
Wszystkie wątki zostaną rozpoczęte natychmiastowo po użyciu metody join()
Pytanie 2
Jaki cykl życia przyjmuje wątek po użyciu na nim metody Thread.sleep()?
NEW
RUNNABLE
WAITING
TIMED_WAITING
Pytanie 3
Jak działa metoda Thread.start()?
Powoduje wykonanie kodu w metodzie main()
Powoduje wykonanie kodu w metodzie run()
Kończy działanie wątku
Tworzy nowy wątek
Pytanie 4
Semafor binarny jest znany jako:
bramka logiczna
kontroler
mutex
adapter
Pytanie 5
Ile istnieje stanów filozofa w problemie ucztujących filozofów?
4
Jest to wartość ruchoma.
3
5
Pytanie 6
Z jakiego powodu pojawia się zakleszczenie w problemie ucztujących filozofów?
Z powodu zbyt małej ilości jedzenia
Z powodu skorzystania ze złych pałeczek
Z powodu błędu programistycznego dotyczącego importowania bibliotek
Z powodu braku komunikacji między filozofami
Pytanie 7
W dowolnym momencie czasowym z metod monitora może korzystać:
1 wątek na raz
żadne z powyższych
Dowolna ilość wątków na raz
2 wątki na raz
Pytanie 8
Muteksy to inaczej:
Mechanizm usprawniający dziedziczenie wielobazowe w Javie.
Algorytmy wzajemnego wykluczania
Wywłaszczenie zasobu
Inna nazwa na zakleszczenie (ang. Deadlock)
Pytanie 9
W jakim języku po raz pierwszy zostały zaimplementowane monitory?:
Concurrent Pascal
C#
Java
C++
Pytanie 10
Ile maksymalnie procesów może obsłużyć algorytm Petersona
Cztery
Dwa
Jeden
Trzy
Pytanie 11
Race condition występuje kiedy:
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.
Kod jest maksymalnie zoptymalizowany.
Procesy rywalizują ze sobą, który pierwszy się wykona.
Pytanie 12
Semafory binarne są znane jako:
Mutex lock
Adaptery
Bramki logiczne
Kontrolery
Pytanie 13
W której wersji Javy wprowadzono framework Lock?
Java 2
Istniał w Javie od zawsze
Java 5
Java 3
Pytanie 14
W jakim pakiecie Javy można znaleźć interfejs Lock?
java.util.lock
java.util.function
java.util.arrays
java.util.concurrent
Pytanie 15
Które z wymienionych rozwiązań jest najbardziej efektywne?
lock
Oba mają taką samą efektywność
Nie da się ich porównać
synchronized
Pytanie 16
Sekcja krytyczna jest pusta, kiedy:
lock = 0
lock = 1
lock = null
lock = 15
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?
wzajemne wykluczenie, postęp, ograniczone oczekiwanie
brak wykluczenia, kompleksowość mechanizmu
ograniczone wykluczenie, wzajemne oczekiwanie
szybkość wykonania, brak regresu
Pytanie 19
Co to jest programowanie wielowątkowe?
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 wiele różnych procesów ma dostęp do tych samych informacji.
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.
Pytanie 20
Czym jest synchronizacja w odniesieniu do wątku?
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 proces radzenia sobie z sytuacjami, w których dwa lub więcej wątków potrzebuje dostępu do udostępnionego zasobu.
Jest to metoda, która pozwala wielu wątkom uzyskać dostęp do wszelkich wymaganych informacji.
Jest to proces, dzięki któremu metoda ma dostęp do wielu różnych wątków jednocześnie.
Pytanie 21
Synchronizacja wątków w procesie będzie wymagana, gdy:
Wszystkie wątki współużytkują te same zmienne globalne.
Wszystkie wątki współużytkują tę samą przestrzeń adresową.
Wszystkie odpowiedzi są poprawne.
Wszystkie wątki współużytkują te same pliki.
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?
Wait() oraz Signal()
Run() oraz Stop()
Low(), High(), Increment() oraz Decrement()
Sleep(), Start() oraz Idle()
Pytanie 25
Gdy wątek otrzymuje dostęp do danych za pomocą semafora:
Semafor zmniejsza swój licznik;
Semafor zwiększa swój licznik;
Semafor ustawia swój licznik na 1.
Semafor nie robi nic z licznikiem;
Pytanie 26
Co się stanie gdy ten sam wątek wywoła funkcje acquire() dwa razy z rzędu na semaforze binarnym?
Dojdzie do zakluczenia (deadlock), jeżeli inny wątek nie wywoła w między czasie metody release();
Licznik zwiększy się o 2;
Licznik zmniejszy się o 2;
Wątek zachowa się tak samo jak przy pojedynczym wywołaniu.
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 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?
notify
żadne z powyższych
wake
inform
Pytanie 32
Jak nazywa się metoda, która powoduje że dany wątek rozpoczyna oczekiwanie na obudzenie przez inny wątek?
expect
sleep
hibernate
wait
Pytanie 33
Jak nazywa się słowo kluczowe, które zapewnia, że tylko jeden wątek jest aktywny w jednym czasie?
harmonized
synchronized
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+1;
x++
x.getAndIncrement();
x.increment();
Pytanie 36
Jak nazywa się metoda, która pauzuje wątek?
kill
interrupt
wait
sleep
Pytanie 37
Ile pisarzy może jednocześnie korzystać z zasobu stosując rozwiązanie monitorów?
nieskończenie wiele
zależy to od rodzaju zasobu
dokładnie jeden
żadne z powyższych
Pytanie 38
Co następuje po otrzymaniu dostępu do zasobu przez jednego z czytelników w rozwiązaniu monitorów?
czytelnik może korzystać tak długo z zasobu, aż w kolejce pojawi się pisarz
pozostali czytelnicy oczekują na opuszczenie zasobu przez obecnego czytelnika
pozostali czytelnicy również otrzymują dostęp
równocześnie jeden pisarz otrzymuje dostęp do zasobu
Pytanie 39
Wskaż korzyść wynikającą z użycia rozwiązania monitorów względem semaforów?
wszystkie z powyższych
mniejsza podatność na błędy
rozwiązanie jest łatwiejsze do zrozumienia
mniejsze skomplikowanie kodu
Pytanie 40
Gdy wątek nie potrzebuje już dostępu do współdzielonego zasobu, w celu zwolnienia pozwolenia wywoływana jest metoda:
availablePermits()
release()
reducePermits(int reduction)
ż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:
drainPermits()
join()
acquire()
getPermit()
Pytanie 42
W celu sprawdzenia dostępnej ilości zezwoleń, należy użyć metody:
isAvailable()
availablePermits()
tryAcquire()
semaphore(int permits, boolean isFair)
Pytanie 43
Semafor jest to _______ do rozwiązywania problemu sekcji krytycznej
zmienna
żadne z powyższych
hardware
program
Pytanie 44
Operacja oczekiwania semafora działa w zasadzie na podstawowe wywołanie systemowe _______.
Wait ()
Block ()
Hold ()
Stop ()
Pytanie 45
Semafor zliczający:
Nie można go używać do kontrolowania dostępu do najważniejszych sekcji
Jest zmienną całkowitą
Może być modyfikowany jednocześnie przez wiele wątków.
Może służyć do wyeliminowania zajętego oczekiwania
Pytanie 46
Które z poniższych stwierdzeń dotyczących synchronizacji jest prawdziwe?
Zapewnia poprawę wydajności.
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.
Pytanie 47
Które z poniższych stwierdzeń jest prawdziwe?
Program kończy się, upłynie zadeklarowany czas.
Program kończy się, gdy wyłączymy komputer.
Program kończy się, gdy kończą się wszystkie wątki niebędące demonami.
Wątek użytkownika nie może zatrzymać żadnego z wątków.
Pytanie 48
Słowo kluczowe ,, synchronized”, można zastosować do:
Nowy mechanizm Javy wprowadzony w jej ostatniej wersji.
Kolano głównej rury odprowadzającej ścieki do kolektora oczyszczającego
Coś, czego nie ma w C++.
Metody instancji klasy
Pytanie 49
Pytanie 17
Pytanie 50
Pytanie 17
Pytanie 51
Pytanie 17
Pytanie 52
aka metoda służy do usypiania wątku?
notifyAll()
join()
wait()
notify()
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()
Natychmiast po wywołaniu metody notify() w innym wątku
Po wywołaniu metody notify() w tym samym wątku
Pytanie 54
Ile wątków budzi metoda notifyAll()?
Dokładnie 1
Maksymalnie 27
Wszystkie w całym programie
Wszystkie w ramach tego samego obiektu
Pytanie 55
Dokładność czasu na który usypiany jest wątek w metodzie sleep()
Można ustanowić ją przy uruchamianiu metody
Zawsze jest taka sama
Żadne z powyższych
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:
Nanosekundy
ilisekundy i (nieobowiązkowo) nanosekundy
Żadne z powyższych
Sekundy
Pytanie 58
Czy wykonanie tego samego kodu źródłowego może dać różne rezultaty?
Tak
żadne z powyższych
Nie
Tak, ale tylko na procesorach starszych niż 35 lat
Pytanie 59
Do czego służy metoda isAlive()
do zabicia trwającego procesu
do wskrzeszenia zakończonego 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:
beginFun()
start()
isAlive()
żadne z powyższych
Pytanie 61
Co zwróci metoda Semafor.toString()
żadne z powyższych
liczbę obecnych pozwoleń w postaci "Permits=4"
identyfikator oraz liczbę obecnych pozwoleń
identyfikator semafora
Pytanie 62
Czy liczba pozwoleń jest stała?
nie i jest ustalana przez użytkownika
semafory nie przechowują pozwoleń
tak, jest ustalana przez system
nie, ale jest ustalana przez system
Pytanie 63
Jaki jest efekt metody acquire():
zwraca obecną liczbę pozwoleń
zmniejszenie liczby zezwoleń i pozwolenie na dostęp wątku do zasobu
żadne z powyższych
zwiększenie liczby zezwoleń i zablokowanie dostępu do zasobu
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 = 0
hold count = 2
Pytanie 65
Jaki interfejs implementuje klasa ReentrantLock?
Interfejs Serializable
Interfejs Runnable
Interfejs Comparable
Interfejs Lock
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”
W bloku „catch”
W bloku „if”
Żadna z powyższych nie jest prawidłowa
Pytanie 67
Do czego służy mechanizm Executors?
Tworzenie puli wątków.
Uruchamianie zadań synchronicznych.
Jest to interfejs.
Uruchamianie wątków wewnątrz puli.
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 jesteśmy w stanie tego określić.
Każdy rodzaj puli przyjmuje jeden wątek.
Nie 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 wątków po wywołaniu shutdown() na puli wątów.
Dodawanie wątków do puli czekających na wynik zadań będących w kolejce.
Dodawanie wiele wątków wykonujących długie operacje.
Dobre rozumienie i właściwy dobór zadań do strojenia puli wątków.
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 jednego z oczekujących wątków
Powiadomienie i wybudzenie wszystkich oczekujących wątków
Pytanie 71
Jednym ze sposobów aby wątek znalazł się w stanie WAITING jest?
Object.notify()
Object.notifyAll()
Thread.join()
Object.wait()
Pytanie 72
Do jakiej klasy należy metoda notifyAll()?:
Field
Żadne z powyższych
Thread
Object
Pytanie 73
Którą z metod uruchomić oczekiwanie na zakończenie CountDownLatch?
waittillend().
whenfinish();
wait();
await();
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();
howmuch().
amount();
Pytanie 76
Która z metod zmieni stan wątku thread 1 na Terminated?
Thread2.join(thread1)
Thread1.join(thread2)
Thread1.end
Thraed1.kill()
Pytanie 77
W jakim stanie znajduje się watke po wywołaniu metody .start()?
Started
Waiting
Runnable
New
Pytanie 78
Jak nazywa się metoda, która wprowadza wątek w stan oczekiwania czasowego?
kill
interrupt
wait
sleep
Pytanie 79
Kiedy InterruptedException nie wystąpi podczas wywołania na wątku metody interrupt()?
nigdy – w przypadku tej metody wyrzucany jest wyjątek RuntimeException
kiedy wątek nie jest zablokowany metodami join(), wait() ani sleep()
InterruptedException występuje zawsze, kiedy użyjemy metody interrupt()
kiedy wątek jest zablokowany metodą join(), wait() lub sleep()
Pytanie 80
W jakiej klasie dostępna jest metoda interrupt()?
Thread
Runtime
nie ma takiej metody
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.
Sekcja wyjściowa
Sekcja wejś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
A. I, II, III
C. I, III, IV
D. I, II, IV
B. II, III, IV
Pytanie 84
Które sformułowanie opisuje ograniczone oczekiwanie?
Wiele procesów ma dostęp oraz możliwość zmiany danych jednocześnie.
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.
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.
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 i pobierane z końca kolejki
Dane są dodawane na początek kolejki i pobierane z początku kolejki
Dane są dodawane na koniec kolejki, a 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?
3
2
4
nieskończenie wiele
Pytanie 87
Które sformułowanie opisuje pojęcie wzajemnego wykluczania?
Kilka procesów może jednocześnie uzyskać dostęp do tych samych danych oraz je modyfikować.
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.
Żadne z powyższych.
Pytanie 88
Która z metod klasy Thread nadaje priorytet wątkowi?
getPriority()
setPriority()
setDaemon()
setName()
Pytanie 89
“Wszystkie wątki są zablokowane, program nigdy się nie wykona.” - do której sytuacji odnosi się to zdanie?
zagłodzenie
wielowątkowość
zakleszczenie
wszystkie są poprawne
Pytanie 90
Która z metod klasy Thread jawnie wywołuje rozpoczęcie wątku?
join()
run()
interrupt()
start()
Pytanie 91
Co to jest Semafor?
Chroniona zmienna
Procedura
Kolejka procesów
Żadne z powyższych
Pytanie 92
Co to jest zakleszczenie?
Sytuacja, w której co najmniej dwie różne akcje czekają na siebie nawzajem
Mechanizm pozwalający na zmniejszenie zużycia pamięci RAM
Błąd zwracany przez program
Zapętlenie programu
Pytanie 93
Czym jest Mutex:
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 strukturą danych
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
Powyższe rozwiązanie problemu sekcji krytycznej jest pozbawione impasu
Procesy wchodzą do sekcji krytycznej w kolejności FIFO
Pytanie 95
W jakich rodzajach procesów występuje problem synchronizacji procesów?
w procesach systemowych
we wszystkich powyższych
w procesach niezależnych
w procesach kooperacyjnych
Pytanie 96
Ile wartości może przyjąć zmienna blokująca w rozwiązaniu TestAndSet?
2
4
1
3
Pytanie 97
Jaki powinien być stosunek wywołań metod lock() do metod unlock() w obiekcie klasy Lock?
żadne z powyższych
Wywołań metody unlock() powinno być więcej od lock()
Liczba wywołań metody lock() powinna zawsze być równa liczbie wywołań metody unlock()
Wywołań metody lock() powinno być więcej od unlock()
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())?
Taki kod nie będzie chciał się skompilować
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()
Pytanie 100
Czy inny proces może użyć zablokowanej zmiennej, nienależącej do niego?
Tylko jeżeli proces aktualnie wykorzystujący zmienną na to pozwoli
Nie, zmienna została zablokowana na zawsze
Tak, w każdym dowolnym momencie
Nie, musi poczekać, aż zmienna zostanie zwolniona
Pytanie 101
Ile najwięcej procesów może obsłużyć mechanizm blokowania zmiennych?
Tylko 1
Żadna odpowiedź nie jest prawdziwa
Max 2
Więcej niż 2
Pytanie 102
Na podstawie jakich parametrów oceniany jest mechanizm synchronizacji?
Wszystkie powyższe
Postęp
Ograniczone oczekiwanie
Wzajemne wykluczanie
Pytanie 103
Czym jest semafor?
metoda, dzięki której uruchamiamy wątek
zatrzymanie wykonania wątku
metoda kontroli dostępu przez wiele procesów do wspólnego zasobu
sytuacja, w której wątek nie może otrzymać dostępu do danych
Pytanie 104
Czym jest deadlock?
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
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
usypia wątek na podaną długość czasu w milisekundach
powiadamia i wybudza jeden oczekujący wątek
powiadamia i wybudza wszystkie oczekujące wątki
Pytanie 106
Którą metodę musi zdefiniować klasa implementująca interfejs java.lang.Runnable?
żadną z powyższych
public void run();
public void start();
void run();
Pytanie 107
Jak nazywa się metoda używana do uruchamiania wykonywania wątku?
init();
start();
run();
resume();
Pytanie 108
Która z poniższych metod nie może bezpośrednio spowodować, że wątek przestanie działać?
Wywołanie metody wait() na obiekcie.
Wywołanie metody sleep() na obiekcie Thread.
Wywołanie metody notify() na obiekcie.
Wywołanie metody SetPriority() na obiekcie Thread.
Pytanie 109
Czego abstrakcją jest pisarz?
Nie jest abstrakcją
Programisty
Procesu edytującego zasób
Procesu odczytującego zasób
Pytanie 110
W wariancie faworyzującym czytelników zagłodzenie może dotyczyć:
Pisarza oraz czytelnika
Zasobu
Jedynie pisarza
Jedynie czytelnika
Pytanie 111
W wariancie faworyzującym czytelników dostęp wyłączny może uzyskać:
Zasób
Pisarz lub czytelnik
Jedynie pisarz
Jedynie czytelnik
Pytanie 112
Która paczka zawiera klasę semafora?
java.lang.math
java.util.concurrent
żadna z powyższych
java.util.semaphore
Pytanie 113
Jaką funkcję należy wywołać, aby wątek miał dostęp do zasobów?
release()
żadne z powyższych
acquire()
sem()
Pytanie 114
Co określa parametr num w konstruktorze?
obecną iterację
stan licznika
liczbę początkowych zezwoleń na dostęp do zasobów
żadne z powyższych
Pytanie 115
Jakie wartości może przyjmować Semafor binarny?
Od 0 do 10
Wszystkie całkowite
0 i 1
żadne z powyższych
Pytanie 116
Jakie wartości może przyjmować Semafor zliczeniowy?
Całkowite nieujemne
0 i 1
Całkowite dodatnie
Całkowite ujemne
Pytanie 117
Semafor podczas inicjowania przyjmuje wartość:
2
1
0
-1
Pytanie 118
Synchronizacja w Javie jest możliwa dzięki:
bibliotece jawa.sync
słowie kluczowemu synchronized
wszystkie powyższe odpowiedzi są poprawne
metodzie Thread.s
Pytanie 119
Gdzie nie można użyć bloku synchronized?
w funkcji
żadne z powyższych
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:
zostaje zawieszony
żadne z powyższych
jest wykonywany jednocześnie z pierwszym wątkiem
pomaga wykonywać instrukcje pierwszemu wątkowi
Pytanie 121
Jak można poradzić sobie z problemem poślizgu?
Zmieniając pętlę while na do while
Jest to niemożliwe
żadne z powyższych
Blokując dane współdzielone za pomocą zmiennej statycznej
Pytanie 122
Kiedy może wystąpić problem poślizgu?
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
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?
Kiedy wątek blokujący ukończy wszelkie działania na danych
Niezwłocznie po ich zablokowaniu
Nigdy
Kiedy drugi wątek poprosi o ich zwolnienie
Pytanie 124
Kiedy wiedza o poślizgu jest przydatna podczas pracy nad aplikacją wielowątkową?
Na poziomie projektowania architektury aplikacji
Podczas optymalizacji kodu
Kiedy otrzymany wynik nie jest zgodny z naszym oczekiwaniem
Wiedza ta nie przydaje się
Pytanie 125
Czym jest StringIndexOutOfBoundsException?
Wyjątkiem
Metodą
Komentarzem
Interfejsem
Pytanie 126
Jaką metodą klasy Thread można uruchomić wykonywanie wątku?
runThread()
run()
start()
startThread()
Pytanie 127
Co zwraca metoda notify() klasy Object?
int
boolean
nie zwraca żadnej wartości
String
Pytanie 128
Jakie są wymagania interfejsu Runnable:
run()
main()
toString()
println()
Pytanie 129
Jaki typ zwraca join() z klasy Thread?
List
Thread
String
nie zwraca nic, void
Pytanie 130
Jaki typ zwraca isAlive() z klasy Thread?
Thread
Integer
String
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
NullPointerException
Nie rzuci wyjątku
Pytanie 132
Czym są semafory?
Sposobem wywołania metody
Rodzaj klasy w javie
Mechanizm javy wprowadzony w ostatniej wersji
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ń
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?
W celu synchronizacji wątków i zapobiegania szkodliwej rywalizacji.
Żeby ograniczyć błędy
Żeby łatwiej odczytywać kod programu
Aby uzyskać dostęp do sekcji krytycznej
Pytanie 135
Jaki problem jest rozwiązany przy stosowaniu tego rozwiązania?
Opóźnienie
Zakleszczenie
Spowolnienie
Zablokowanie
Pytanie 136
Jakim słowem oznaczona jest sekcja krytyczna?
Session
Synchronized
Final
Critical
Pytanie 137
Głównym zadaniem monitora jest:
Kontrolowanie dostępu do sekcji kodu
Monitorowanie zmiennych
Utworzenie graficznego interfejsu programu
Wykonywanie instrukcji
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 zabicia wątku
Do nieskończonego zapętlenia wykonania działania programu
Pytanie 139
Jak można w łatwy sposób doprowadzić do wystąpienia błędu stanu?
Blokując zasób przed przetwarzaniem
Zgłaszając wyjątek w trakcie wykonania kodu jednego z wątków
Uruchamiając wiele wątków przetwarzających ten sam zasób
Usypiając wątek po sprawdzeniu warunku przed przetwarzaniem niezablokowanego zasobu
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.
Sprawić aby wątek dziedziczył z klasy ReentrantLock
Wykonać metodę lock() na wątku