A multithreaded program P executes with x number of threads and uses v number of locks for ensuring mutual exclusion while operating on shared memory locations. All locks in the program are non-reentrant. i.e., if a thread holds a lock l, then it cannot re-acquire lock I 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
Answer:D
A multithreaded program P executes with x number of threads and uses v number of locks for ensuring mutual exclusion while operating on shared memory locations. All locks in the program are non-reentrant. i.e., if a thread holds a lock l, then it cannot re-acquire lock I 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