grile anii trecuti Flashcards
Ce inseamna un “split binary semaphore”?
Un grup de semafoare care au suma valorilor cel mult egala cu 1
Problema filozofilor reprezinta o situatie in care se paote ajunge la
deadlock
Avem un program cu un deadlock:
uneori se va bloca la nesfarsit
Minim de cate semafoare este nevoie pentru a rezolva problema bărbierului? (Se considera cele 3 constrangeri ale problemei discutate la curs: barbierul fara clienti, venirea unui client, respectiv frizerie plina)
3
Alegeți afirmația incorecta referitor la tehnica Split binary semaphore:
Fiecare cale de execuție începe cu o operație P (luare resursa) pe unul dintre semafoare din set și se termină cu o operație V (eliberare resursa) pe respectivul semafor
In problema Producători și consumatori, M Producători, N Consumatori si k dimensiune buffer, de cate semafoare este nevoie pentru implementare, daca nu se mai poate folosi nici un alt mecanism de sincronizare?
4
Care este un dezavantaj la soluția Reader priority (prioritate Cititorilor) pentru problema Cititori si Scriitori?
un flux continuu de cititori pot bloca ulterior pe toți potențialii scriitori
Care este una dintre diferențele dintre un semafor binar si un mutex?
apare eroare daca un task care nu deține mutexul încearcă sa îl elibereze (însă nu si la semafor binar)
Considerand problema filosofilor cu 4 filosofi, cate furculite sunt asezate pe masa?
4 ( atatea cat filosofi wow)
Care dintre urmatoarele afirmatii este falsa in cadrul problemei cititori - scriitori?
Un singur cititor are dreptul sa citeasca la un moment dat
Ce inseamna excludere mutuala?
doar un proces poate fi la un moment dat intr-o regiune critica
Care este diferenta dintre mutex si semafor binar?
mutexul are constrangeri aditionale, impuse chiar la nivelul sistemului de operare
Cum se poate delimita o zona critica in Java?
Folosind synchronized
Un thread poate fi creat implementand interfata Runnable / Thread-urile sunt pornite apeland metoda thread.start()
adevarat / adevarat
Care este diferenta dintre metodele run() si start() ale unui obiect de tip Thread in Java?
start() va crea un thread nou care va rula metoda run()
Ce inseamna ca un lock este re-entrant?
Daca un thread a luat deja lock-ul respectiv, va putea sa-l ia de oricate ori cat timp il detine
Avem un semafor in Java declarat cu “Semaphore s = new Semaphore(-2)”. De cate “s.release()” este nevoie astfel incat un thread care apeleaza “s.acquire()” sa se deblocheze din asteptare?
3
Cand avem in Java o metoda de tipul “public synchronized void f()” intr-o clasa C, pe monitor lock-ul carui obiect se face sincronizarea?
this
In Java nu se poate folosi pentru sincronizare:
un tip de date primitiv
Care este semnificatia unei sectiuni synchronized in Java?
Un singur thread poate executa sectiunea synchronized la acelasi moment de timp
Implementarea Java Thread face ca toate thread-urile sa se execute pe un singur CPU indiferent de cate procesoare are masina pe care ruleaza / Folosind Java Threads programatorul poate crea mai multe thread-uri decat numarul de CPU-uri de pe masina
fals/adevarat
In Java folosim synchronized pentru a marca o zona critica / In Pthread folosim pthread_barrier_t pentru a marca o zona critica
adevarat/fals
Care este rezultatul apelarii metodei .run() a unui thread Java?
Executia, pe firul curent, a continutului metodei.
Apelul this.wait() intr-o metoda non-statica sincronizata produce exceptie / In Java se poate initializa un Semaphore cu o valoare negativa (corespunzator numarului de permise)
fals/adevarat