Synchronization:
Using the Semaphore object