The paper introduces the concept of monitor, which is collection of data and procedures used for releasing and acquiring resources. Author describes monitors like an object in java language, where the monitors are different kinds of resources and to acquire or release, an instance of the required resource class is used. Procedures cannot access the global variables to avoid lock situation and only one thread can be executing at any time. Author implements the semaphore technique to avoid deadlock and ensure mutual excusive in threads execution.


This paper is providing solution to the synchronization problem in operating system to avoid lock and ensure mutual excusive in threads execution.


  • Paper introduces the concept of monitors to perform synchronization in thread execution.
  • Semaphores are used to implement scheduling where wait() and signal() functions are used to perform context switching. It avoids deadlock and ensure mutual excusive in threads execution.
  • Wait() procedure locks the current thread until any other thread is running.
  • Signal() procedure forms the system that it is done executing and issues the release signal for the next thread to run.


  • Performance Comparison did not provided between old and new method.

Extra Question

Can it be modified to support multi-threading synchronization