7#define PTHREAD_MUTEX_INITIALIZER NULL
8#define PTHREAD_COND_INITIALIZER NULL
21 void *(*start_routine)(
void *),
void *arg);
void pthread_exit(void *value_ptr)
int pthread_mutex_lock(pthread_mutex_t *mutex)
struct pthread_mutexattr * pthread_mutexattr_t
int pthread_cond_signal(pthread_cond_t *cond)
int pthread_mutex_trylock(pthread_mutex_t *mutex)
struct pthread_barrier * pthread_barrier_t
struct pthread_mutex * pthread_mutex_t
int pthread_mutex_destroy(pthread_mutex_t *mutex)
struct pthread_attr * pthread_attr_t
pthread_t pthread_self(void)
struct pthread * pthread_t
int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr)
struct pthread_condattr * pthread_condattr_t
int pthread_barrier_wait(pthread_barrier_t *barrier)
struct pthread_cond * pthread_cond_t
int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
int pthread_mutex_unlock(pthread_mutex_t *mutex)
int pthread_cond_destroy(pthread_cond_t *cond)
int pthread_join(pthread_t thread, void **value_ptr)
int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime)
struct pthread_barrierattr * pthread_barrierattr_t
int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr)
int pthread_barrier_init(pthread_barrier_t *barrier, const pthread_barrierattr_t *attr, unsigned count)
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
int pthread_barrier_destroy(pthread_barrier_t *barrier)
int pthread_cond_broadcast(pthread_cond_t *cond)