扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
#include QCoreApplication
创新互联-专业网站定制、快速模板网站建设、高性价比游仙网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式游仙网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖游仙地区。费用合理售后完善,十载实体公司更值得信赖。
#include "thread.h"
#include QVector
#include QDebug
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QVectorThread* vector;
Thread *thread;
//创建多个线程,并start
for(int i=0;i10;i++){
thread=new Thread;
vector.append(thread);
thread-set(i);
thread-start();
}
//等待所有线程执行完,然后删除线程
foreach(thread,vector){
thread-wait();
}
foreach(thread,vector){
delete thread;
}
return a.exec();
}
思路:
1.按着自己需要的条件分给不同的线程进行查询,查询结束后,将返回的结果add到全局的List中。例:时间段查询,将时间进行分块,然后拼装成List集合
其实最简单的方法是用timer控件,timer控件本事就是对一个线程的封装
所以你用两个timer控件就可以模拟两个线程了
或者用两个backgroundworker控件,这个更逼真,不用定时触发
具体用法,我空间里有教程
希望能解决您的问题。
多线程搜索,如果是指delphi的程序里如何启多个线程进行数据库query,这个你看一下delphi的多线程机制吧。
正常来说,程序里是不需要多线程查询数据库的,直接通过ADOConnection按顺序查询数据库,mysql会将收到的查询命令在内部多线程处理的,根本不需要在程序里进行多线程考虑。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流