A deadlock free solution
Is starvation also eliminated ?
Implement semaphore operations using a monitor
P() and V() operations as procedure entries
Implement monitor using semaphores
use a semaphore to guarantee mutual
exclusion of procedure entries
use a semaphore to ensure blocking
and subsequent continuation of signaling processes
use a semaphore to for each condition
variable to implement wait and signal