我举个简单的例子,(其实程序不是这么简单,和这类似)在adotable表里有1000000万条记录我现在要统计这个程序的某一个字段的和, 如果从头到尾for i:=1 to 1000000 do
begin
sum_value:=sum_value+adouqeyr1.fieldbyname('field').asinteger;
end;这样就要花很多的时间,我现在想用多线程来计算, 比如10个线程, 一个线程每次计算
10条记录.第一个线程计算1-10,第二个计算11-20第十个计算91-100然后哪一个先计算完,就从后面继续算,(比如第二个先算完,那么他就取出101-110来算, 最后把所有的结果累加起来.怎样实现,(我现实的程序和这个类似) 问题解决给主答者500分(这里面包括怎样创建,怎样释放线程等等,我都不会)
begin
sum_value:=sum_value+adouqeyr1.fieldbyname('field').asinteger;
end;这样就要花很多的时间,我现在想用多线程来计算, 比如10个线程, 一个线程每次计算
10条记录.第一个线程计算1-10,第二个计算11-20第十个计算91-100然后哪一个先计算完,就从后面继续算,(比如第二个先算完,那么他就取出101-110来算, 最后把所有的结果累加起来.怎样实现,(我现实的程序和这个类似) 问题解决给主答者500分(这里面包括怎样创建,怎样释放线程等等,我都不会)
SELECT SUM(‘FIELD’)FROM YOURTABLE;
才拿出这个例子的,(其实我不是想实现统计的)大家都用过网络蚂蚁,你看了他多点下载的程序吗?
就是一个问题,多个点同时处理,这样速度就更快了。那上面的这个例子用多线程该怎样处理呀. 不知大家能看懂否