# mars **Repository Path**: ivan_allen/mars ## Basic Information - **Project Name**: mars - **Description**: 造C++轮子 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-11-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学习 muduo 里的库 ## 1 依赖 - boost 库 >下载地址:http://www.boost.org/users/download/ 我用的是 boost 1.65.1 ## 2 编译 进入不同单元的目录 ``` $ make ``` ## 3 提供的类和工具 ### 3.1 封装的好用的类 - Thread 封装了线程相关的操作 pthread - MutexLock 封装 pthread_mutex - Condition 封装了条件变量 pthread_condition - ThreadPool 简易的线程池 - BlockQueue 线程安全的阻塞队列,使用起来相当方便 - Latch 门闩。有两种状态,打开和关闭。当门闩关闭时,所有调用 wait 方法的线程会阻塞,直到门闩被(其它线程)打开。 - CountDownLatch 倒数计数器。调用 wait 方法的线程会被阻塞,直到计数器值变为 0,会自动打开门闩。 - Defer 模仿 go 语言的 defer 关键字。推迟函数执行时间到 return 前。 ### 3.2 相关的工具 - logger 封装了日志相关的工具,有四个接口 - INFO_PRINT(fmt, ...) - DEBUG_PRINT(fmt, ...) - WARN_PRINT(fmt, ...) - ERROR_PRINT(fmt, ...) --- - util 封装一些常用的函数,目前只有一个获取当前时间的,日后补充。 > 博客地址: http://blog.csdn.net/q1007729991