纯C++风格线程池
纯C++ 风格线程池可参考这篇文章
视频教程
相关线程池和并发编程的视频可以看看这个连接:
支持信号机制的线程池
我的项目中期待封装一个类,内部有个线程池处理外部投递的内容,这个类同时支持对外发送信号等,同时这个类是一个单例类,那么这个类可以继承QOjbject支持信号机制,并且其内部可以封装一个线程池响应外部投递的任务,结合纯C++版本封装了如下在QT环境使用的线程池,目前已经投入到生产中。
用到的头文件
#include <QObject>
#include <queue>
#include <vector>
#include <thread>
#include <queue>
#include <memory>
#include <functional>
#include <mutex>
#include <atomic>
#include <future>
头文件编写
#ifndef SEQSCHEDULER_H
#define SEQSCHEDULER_H
//wwc 处理维护,关机流程,清洗等时序执行的类
class SeqScheduler: public QObject
{
Q_OBJECT
public:
~ SeqScheduler();
static SeqScheduler& Inst();
template<typename F, typename ... Args>
auto CommitTask(F&& func, Args && ... args) ->
std::future<decltype(std::forward<F>