## Exercise 2

 1. Write a C program with threads. Set up a global (shared) mutex
    and a character array (a string) 32 bytes long.
 2. The main thread should:
    
    a. start the child thread (see next point)
    b. sleep for half a second
    c. read the first 31 bytes of ‹intro.txt› into the global
       character array (in a critical section protected by the
       mutex)
    d. wait for the child thread to finish
    
 3. The child thread should:
    
    a. print the content of the global character array
    b. sleep for a second
    c. print the content again
    
 4. Both reads from the array in the child thread should be
    protected by the mutex.
 5. Run the program to demonstrate it works as expected.

We can now move on to more complex synchronisation devices:
semaphores and barriers. First, however, let's do one more thing
with mutexes: busy waiting. See ‹busy.c›.
