Skip to content

Libuyan00/Cpp_ThreadPool

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

基于c++11、14、17标准实现的线程池

本项目分为两个版本,第一个版本主要使用自己设计的Reslut类和线程任务Task类,同时实现了简单的Any类和Semaphore类 用于支持从提交的任务中获取返回值,使用时需要继承Task类并重写run方法,使用受限;

第二个版本采用c++11、14、17相关的标准,利用packaged_taskfuture实现了获取任务返回值的功能,同时利用c++可变参数模板万能引用以及std::bind等, 重构了线程池submitTask接口,可以支持使用者提交任意类型的任务和不同个数的参数。

线程池支持固定线程数模式动态线程数模式, 动态线程数模式下线程空闲时间超过60秒即回收该线程资源。

线程同步上采用了mutex互斥锁atomic原子操作条件变量信号量

About

基于c++新标准的线程池实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.5%
  • CMake 2.8%
  • Shell 0.7%