pthread_mutex_destroy Destroys a mutex.
pthread_mutex_init Initializes a mutex with attributes
specified by the attributes argument.
pthread_mutex_lock Locks an unlocked mutex; if locked, the
caller waits for the mutex to become
available.
pthread_mutex_trylock Attempts to lock a mutex; returns
immediately if mutex is already locked.
pthread_mutex_unlock Unlocks a locked mutex.