8-muduo-base-Condition

 

 

1 类说明

muduo的条件变量,这里是封装了pthread_cond_t,对应c++11中的std::condition_variable.Condition类要搭配MuteLock类使用,就像pthread_cond_t要搭配pthread_mutex_t使用

C++11 并发指南五(std::condition_variable 详解) - Haippy - 博客园 (cnblogs.com)

 

2 继承

  • noncopyable

    • 表明这个类不可以拷贝复制

 

2 成员变量说明

  • mutex_

    • 互斥变量,pthread_mutex_t类型

  • holder_

    • 指明锁的持有者(线程or进程???),pid_t类型,其实就是int

  • 友元类 Condition

  • 内嵌类UnassignGuard:这个类只有一个MutexLock的成员变量owner_ ,两个函数调用的owner_ 的unassignHolder和assignHolder函数

 

3 成员函数说明

1 non-static

  • 构造函数:

    • 传入MutexLock初始化mutex_

    • pthread_cond_init初始胡pcond

  • 析构函数

    • pthread_cond_destroy销毁pcond

  • wait

    • 配合mutex_t进行pthread_cond_wait

  • waitForSeconds

    • pthread_cond_timedwait

  • notify

    • pthread_cond_signal

  • notifyAll

    • pthread_cond_broadcast

    •  
posted @ 2023-05-04 10:04  DavidJIAN  阅读(20)  评论(0)    收藏  举报