// C program to demonstrate Semaphores #include #include #include #include sem_t mutex; void* thread(void* arg) { //wait sem_wait(&mutex); printf("\nEntered..\n"); //critical section sleep(4); //signal printf("\nJust Exiting...\n"); sem_post(&mutex); } int main() { sem_init(&mutex, 0, 1); pthread_t t1,t2; pthread_create(&t1,NULL,thread,NULL); sleep(2); pthread_create(&t2,NULL,thread,NULL); pthread_join(t1,NULL); pthread_join(t2,NULL); sem_destroy(&mutex); return 0; }