线程的三种同步方式
1 互斥量
数据结构:ptread_mutex_t mutex;
方法:pthread_mutex_init(&mutex,NULL);
pthread_mutex_destroy(&mutex);
pthread_mutex_lock(&mutex);//正确返回0,错误返回其他值
pthread_mutex_unlock(&mutex);
2读写锁
数据结构:pthread_rwlock_t rwlock;
方法:pthread_rwlock_init(&rwlock,NULL);
pthread_rwlock_destroy(&rwlock);
pthread_rwlock_rdlock(&rwlock);
pthread_rwlock_wrlock(&rwlock);
pthread_rwlock_unlock(&rwlock);
3条件锁
数据结构:pthread_cond_t cond;
方法:pthread_cond_init(&cond,NULL);
pthread_cond_destroy(&cond);
pthread_cond_wait(&cond,pthread_mutex_t* mutex);
pthread_cond_waitedtime(&cond,&mutex,const struct timespec* timeout)
pthread_cond_signal(&cond);
浙公网安备 33010602011771号