about pthread (mutex, semaphore, pthread_cond）