【Muduo源码剖析笔记】 基础组件之CountDownLatch、Exception
CountdownLatch
CountDownLatch是多线程共享的一个组件,包含一个锁、条件变量和一个int类型的count。
初始化函数:对互斥锁初始化,使用互斥锁对条件变量初始化,对count初始化值。
wait函数:加锁,调用条件变量的wait。
countDown:调用的线程会先加锁,然后对count自减。
Exception
继承于标准库的exception类,包含两个私有数据成员 string message和string stack。
使用一个string作初始化参数,std::move(msg)到message数据成员上,stack的初始化值为CurrentThread::strackTrace(false)的返回值。会返回调用栈的信息。
复写了标准库里的what函数,返回C语言数据类型的message。
还有stackTrace函数,会返回stack数据成员。