# CommonLib **Repository Path**: cangshanrh/common-lib ## Basic Information - **Project Name**: CommonLib - **Description**: 将自己常用的一些函数类等封装成一个组件 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-11-02 - **Last Updated**: 2022-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 概述 见过各种线程池,但还是没有自己实现的用起来顺手。 线程池本身并不复杂,新建一群线程,每个线程都是消费者,执行condVariable.wait,来了新任务后,线程池会condVariable.notify_one,线程开始执行这个任务,执行完后线程再回到condVariable.wait的状态等待新的任务到来。不同人实现出来都是这一个思路。因为封装方法和语言的关系,使用方法各不相同。 对于C++来讲,线程池还是一个频繁用到的东西,又不是为了炫技,没必要用太多奇技淫巧。 编译的的静态库名称叫libbg.a BG(Base Group Lib, 基础库的集合),使用c++11进行编译,打算未来把自己经常使用的函数,结构等添加进来,以便今后能快速的开发一个C++项目。 BGIpc.h 封装了mutex和condition_variable,其实有点没必要,但搭建一个基础的工程,还是弄一套自己的命令规范比较好。 BGThread.h 主要实现了ThreadPool; ### 环境 自测试的环境: Linux (具体是在Centos7上) 语言和编译器: c++11 ### 使用方法 ``` #编译库文件 cd src make #编译demo文件 cd example make ./example1 ``` ### 代码解析 看代码中的注释