Problem
I. Write a simple program that create two threads sender and receiver. The sender thread send a message string to receiver thread. This program uses semaphore so as to achieve synchronization.
II. Write a simple program that create two threads sender and receiver. The sender thread send a message string to receiver thread. This program uses condition variables to achieve synchronization.