Q54 A multithreaded program P executes with x number of threads and uses y number of locks for ensuring mutual exclusion while operating on shared memory locations gate computer science 2017
The Eduladder is a community of students, teachers, and programmers just interested to make you pass any exams. So we solve previous year question papers for you.
See Our team
Wondering how we keep quality?
Got unsolved questions?

Ask Questions
Hey! Want to work with us? Our youtube channel See our Jd Want to apply? Do it today

Use Me  ?

New searches
GATE-Computer-Science-Engineering-2017-->View question


Q.54) A multithreaded program P executes with x number of threads and uses y number of locks for ensuring mutual exclusion while operating on shared memory locations. -gate computer science 2017

All locks in the program are non-reentrant, i.e., if a thread holds a lock l, then it cannot re-acquire lock l without releasing it. If a thread is unable to acquire a lock, it blocks until the lock becomes available. The minimum value of x and the minimum value of y together for which execution of P can result in a deadlock are:

A) x = 1, y = 2
B) x = 2, y = 1
C) x = 2, y = 2
D) x = 1, y = 1 


By:satyashiromani

Taged users:
|satyashiromani|batsam22|aksingh1818|dillu550|milan-ransingh|vivek25|vaishnavi-Deshpande|Samira|pankaj|soumya|amrita98|Shivam-Yadav|akialwayz|sonam|Msshikhil|Ashwath-Shetty|Umang|Divyanshu-Changkakoti|Oshal-Borkar|Amogh|tanya|ThreeRed|Purnima|Johnny|arunsivag|preethi|shilpasri|varsshita|sahajajnana|saru

Likes:
|deepuckraj

Dislikes:
Be first to dislike this question

Talk about thisDelete|Like|Dislike|


Answers

D) x=1,y=1

Explanation: 
Reentrant (Recursive) locks allow a thread to reacquire the lock. That means same process can claim the lock multiple times without blocking on itself. This prevents the thread from deadlocking itself. This is main advantage of reentrant locks over non-reentrant locks. 

Non-reentrant (Non- recursive) locks not allow a thread to reacquire the lock. That means same process can not claim the lock multiple times without releasing it. So, if a thread/process is unable to acquire a lock, it blocks until the lock becomes available. This situation is deadlocked. 

Therefore, only one thread and only one lock can cause deadlock, if thread does try to reacquire lock.

When we have more than one process or one lock, then process/thread can acquire another lock to proceed further, or other process/thread can acquire lock to proceed further. 

This explanation is contributed by Deepak Raj

deepuckraj

Likes:
Be first to like this answer

Dislikes:
Be first to dislike this answer
Talk about this|Once you have earned teacher badge you can edit this questionDelete|Like|Dislike|
------------------------------------

Can you help us to add better answer here? Please see this

Loading...


Not the answer you're looking for? Browse other questions from this Question paper or ask your own question.

Join eduladder!