Skip to content

Supremes/threadPool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简介:

创建固定数量的线程,来处理多个任务,线程执行完一个任务后不销毁而是继续执行下一个任务,这样就避免了线程的频繁创建和销毁,大大提高了效率

一个基本的线程池需要包含以下部分:

  • 工作线程:

项目中使用RAII机制封装了thread, mutex, condition,工作线程是一个thread类型的vector容器(vector)

  • 任务队列:
 typedef std::function<void(string)> func;
 queue<func> tasks_;

定义了每个任务函数的类型,任务队列是一个func类型的queue

  • 用于添加任务的接口函数(threadPool::enQueue()):

工作线程运行该函数,不断的从任务队列汇总取出任务并执行.

About

线程池1.0

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published