C++ 九阴真经之异步队列
异步队列可以看作是消息队列和线程池的合体,输入端是用户自定义数据,输出端为用户自定义执行体。 定义类型 T 定义执行体 bool task(T& t){} 就可以实现没每一个消息执行操作 task(t) /************************************************************************************ * 异步队列 * 用户将数据压入队列,并自定义执行函数,对数据进行异步处理 * T 数据类型 * RET 结果返回类型 ************************************************************************************/ template <typename T, typename RET> struct NodeData { T data; std::promise<RET> res; }; template<typename T, typename RET> class CAsyncQueue : public ThreadObject { public: void Start(unsigned short nThreadNum, std::function<RET(T)> f) { m_idlThrNum = nThreadNum < 1