线程的三种同步方式

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);

posted on 2015-08-18 14:34  菜鸟基地  阅读(200)  评论(0)    收藏  举报

导航