本文整理汇总了C++中WorkerThread::assignTask方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkerThread::assignTask方法的具体用法?C++ WorkerThread::assignTask怎么用?C++ WorkerThread::assignTask使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkerThread
的用法示例。
在下文中一共展示了WorkerThread::assignTask方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: distributeTask
void TaskManager::distributeTask(ID taskId){
qDebug() << tr("distributeTask()")<<QThread::currentThreadId();
//查找可用线程
WorkerThread * thread = mWorkThreadPool.findAvaiableTcpThread();
if(thread == NULL){
if(mWorkThreadPool.getThreadSize()>=mWorkThreadPool.getMaxThreadSize()){
qDebug() << tr("Error: No avaiable thread for use. The thread pool is full, and size is:")<<mWorkThreadPool.getThreadSize();
return;
}
else{
//线程池未超出,创建新线程。
thread = new WorkerThread();
//把这个线程的事件,放在自己线程处理。
thread->moveToThread(thread);
if(thread != NULL){
mWorkThreadPool.addNewWorkThread(thread);
}
else{
qDebug() << tr("Error: No avaiable thread for use, fail to add new thread.");
return;
}
}
}
thread->setWorkListener(this);
thread->start();
thread->assignTask(tasks[taskId]);
}