该实现不可重用
int pthread_barrier_wait(pthread_barrier_t *barrier)
{
pthread_mutex_lock(&barrier->lock);
barrier->count++;
while(barrier->count < barrier->total)
pthread_cond_wait(&barrier->cond,&barrier->lock);
if(barrier->count >= barrier->lock)
{
pthread_mutex_unlock(&barrier->lock);
pthread_cond_broadcast(&barrier->cond);
return(PTHREAD_BARRIER_SERIAL_THREAD);
}
pthread_mutex_unlock(&barrier->lock);
return(0);
}