# pthreadpool **Repository Path**: johbenny/pthreadpool ## Basic Information - **Project Name**: pthreadpool - **Description**: 基于Linux使用C语言实现一个线程池,可根据任务数量动态改变线程池中的线程数 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-02-10 - **Last Updated**: 2023-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README  >只供学习用途,内部一些地方实现较为粗糙(例如,只是定时查询线程池工作状态来管理线程数量,理想状况应该是持续检测线程池的工作状态,根据一定的算法来实现线程数的管理) ## 实现结构 ### 线程池 ThreadPool_结构体__ - 线程队列,任务队列 - 管理者线程 - 最大线程数,最小线程数,存活线程数,在忙线程数,将要销毁线程数 - 互斥锁 - 线程池 - 在忙线程数 - 条件变量 - 任务队列满 - 任务队列空 - 线程池销毁标记 ### 任务 Task__结构体__ >封装任务函数 - 任务函数__指针__ - 参数__指针__ ### 工作函数 - 线程池创建函数 threadPoolCreate - 线程池销毁函数 threadPoolDestroy - 添加任务函数 threadPoolAdd - 获取在忙线程个数 threadPoolBusyNum - 获取存活线程个数 threadPoolAliveNum - 工作线程的任务函数 worker - 管理线程的任务函数 manager - 线程退出函数 threadExit