写一个Poco线程池的简单例子:
vector<myTask*> vecTask;
... //创建任务数组
int maxCapacity(16);
Poco::ThreadPool threadpool(2, maxCapacity, 60, POCO_THREAD_STACK_SIZE);
for(int i = 0; i < vecTask.size(); i++)
{
while (threadpool.available() == 0)
{
Poco::Thread::sleep(1000);
}
threadpool.start(*vecGetStiTask[i]);
}
threadpool.joinAll();
//不要忘了释放vecTask的内存
不要忘记包含相关头文件:#include "Poco\ThreadPool.h" #include "Poco\Task.h"
关于Poco线程池的基本知识讲解网上有很多,可自行检索阅读。本文只是举个简单使用例子,方便新手上手。
如对本例不是很满意,可参考另一篇博客中的实例:https://blog.youkuaiyun.com/zhaojunwuiris/article/details/81201297