说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在DELPHI中用线程排序

HTML文档下载 WORD文档下载 PDF文档下载
在DELPHI中用线程排序

在数据处理量很大的情况下,如何在数据处理的同时响应用户操作?Windows95/98和WindowsNT作为多线程的多任务操作系统,其调度单元是线程,即线程是系统分配处理器时间资源的基本单元,所以我们可以利用线程实现在处理大批量数据的同时响应用户操作。

DELPHI作为一个优秀的开发平台,对开发多线程应用程序提供了强有力的支持,即可直接利用32位Windows环境提供的Win32API接口函数CreateThread,也可利用DELPHI中提供的BeginThread函数。在下面例子中,正是使用了DELPHI提供的TThread类。

一.基本的方法如下:

1.从Tthread类派生一个新类。(创建TSortThread类)

2.定义新类的Create方法。

3.定义新类的Execute方法,并在Execute方法中插入线程运行时执行的代码。

4.引用类方法创建实例。

二.例子的详细代码及说明:

首先,新建一个单元,保存为mysort.pas.在此单元中,我们创建了一个TSortThread类,它从TThread类中继承而来,所以当我们在程序中创建这个类的一个实例时,也就是创建了一个新的线程。

接着,在该类中定义一个Sort方法,用来对数组进行排序,同时TSortThread类超越了TThread类的构造方法Create和Execute,在execute方法中,调用了对数组进行排序的Sort方法。具体代码如下:

unitmysort;

interface

usesClasses;//TThread类在Classes中被定义。

type

PSortArray=TSortArray;

TSortArray=array.[0..MaxIntdivSize

Of(Integer)-1]ofInteger;

{此处定义了TsortThread类}

TSortThread=class(TThread)

Private

{在TSortThread类中定义了如下几个私有变元}

FSortArray:PSortArray;

FSize:Integer;

FA

FB

FI

FJ:Integer;

Protected

{类TSortThread超越了类Tthread的Execute方法}

procedure Execute;override;

{类TsortThread添加了一个Sort方法}

procedure Sort(varA:arrayofInteger);

public

{类TSortThread超越了类Tthread的构造方法}

constructorCreate(varSortArray:arrayofInteger);

end;

implementation

constructorTSortThread.Create(varSortArray:arrayofInteger);

begin

FSortArray:=@SortArray;

FSize:=High(SortArray)-Low(SortArray)+1;

FreeOn Terminate:=True;

inheritedCreate(False);

end;

{当线程开始时,Execute方法将被调用。}

procedure TSortThread.Execu

te;

begin

Sort(Slice(FSortArray

FSize));

end;

{下面实现了冒泡法排序}

procedure TSortThread.Sort(varA:arrayofInteger);

var

I

J

T:Integer;

begin

for I:=High(A)downto Low(A) do

for J:=Low(A)to High(A)-1 do

if A[J]>A[J+1] then

begin

T:=A[J];

A[J]:=A[J+1];

A[J+1]:=T;

if Terminated then Exit;

end;

end;

end

最后,在用户应用程序的implementation处加入usesmysort

在执行排序的地方加入TQuickSortthread.Create(SortArray),其中SortArray为一实际的数组。这样就可以用线程实现排序,在排序过程中,用户不必等到排序结束就可以执行其它操作。这种用多线程实时响应用户操作方法在涉及大量数据处理的应用程序中显得尤为重要。

Android屏幕截图之View方法 Android开发者应该保持以下特质 Android Widget开发模板 Zipalign使用方法-SDK中的APK文件优化工具 Android蓝牙控制之2.X或以上 Android数组排序常见方法 使用OpenGL开发一个指南针 Android自绘GridView控件 Android平板开发注意事项 Android控件TextProgressBar进度条上显文字 Android内存管理-SoftReference的使用 反射在Android开发中的利弊 intent调用代码总结二 Android缩略图类源代码 Android多人项目开发指导 AsyncTask对比Thread加Handler Android Drawable叠加处理方法 android.os.Debug调试工具使用方法 Android多点触控开发原理 inent调用代码总结,不断完善中 onRetainNonConfigurationInstance和getLastNonConfigurationInstance Android中String资源文件的format方法 Android工程内嵌资源文件的两种方法 Android AIDL全攻略三 - AIDL框架 Android AIDL全攻略二 - Service绑定 自定义Android主题风格theme.xml方法 Android开发之模拟按下Home键的效果 Android AIDL全攻略一 Android Picture和PictureDrawable的用处 Android自定义View以及layout属性全攻略 Android通过Intent发送电子邮件含附件 C# webform的简单问题,如何关闭窗口 新手上路,Jb8的小问题 100分求购 经常看到说ADO很好的帖子,但是还是有一些疑惑,望高手赐教 用VC编写NetDDE程序,怎样设定客户程序连接服务器时的密码? 怪问题,请大虾帮忙!!!! 请问要学习数据库系统设计应该看那些资料? 急:高分求助关于jdbc连接MySQL数据库的问题. 如何用javascript来检测机器上是否安装word2000?请给点代码提示,先谢谢了 在本地机器上测试邮件发送 使用treeview数据库绑定,能不能绑到一个子节点下? 关于给目录树的子菜单再增加下层菜单的问题 要访问mysql数据库中排列在最前面的5条数据,怎么班? 高分征求 SQL SERVER 数据库的冗余、负载均衡的解决方案? 无法从硬盘安装Redhat9,大家帮帮我 Delphi7中安装上自己编写的控件后出现的问题??? 求助 100分深情大奉送!! 请教各位高手帮忙是关于EOT的??? 到底怎么用存储过程?是不是在查询分析器中使用? 到底怎么用存储过程?是不是在查询分析器中使用? 串口问题!!! behavior:url(#default#userData)的问题!马上给分。 如何得到所有用户表的表名?(在线等候) 怎么让打开的EXCEL文档自动到某一工作表?? 如何分别取得字符串中空格前和空格后的数据呢?如‘dfds df fds'分为dfds df fds. 谁知道MSWord的文件格式? 怎样给自定义函数设置多个参数项? 在URL地址栏中传递字符串参数遇到的一个问题??? 如何在繁體下打開簡體文件名的文件?要求不能用改名的辦法 插入数据到数据库! 高手关注--------送分-----------急急急! 在ASP中如何编程建立索引服务的编录及目录? 在web server application把MEMO字段中带格式(RTF)的内容转换成纯文本? 请问在身份验证中,能否有两个login.aspx??? 急~那篇给vb控件打包文件添加数字签名以便浏览器浏览的那篇文章在哪里? 用vb如何实现模拟雷达界面??欢迎赐教! 如何用CSS控制INPUT的输入外观不是立体的,而看起来是平板的样子,只有一个边线? 用户注册的问题,密码总验证不对,能不能看看错在哪里? 如何使文本框只显示下面的边框? xsl求助~~~ 怎么将int转为CString 有的论坛采用从数据库得到帖子,有的使用shtml,有的使用xml,孰优???还有其他吗? 100分==在JSP中打开word文件的实例 紧急在线等一个很简单的问题 DTPicker 怎样和数据库绑定? 如何动态改变VB报表中Section中的一个与数据环境绑定的rptTextBox的颜色!(100分求教) datediff()这个函数怎么用哪位高手可否给小弟讲解一下急用在线等 和女友分手了,痛苦! 谁有支持中文的带身份验证和邮件群发的ASP.NET邮件组件? 关于多个表通过相同的字段级联的问题,进来看看,一定给分! windowd server 2003许可证问题 1.已知a-1/a=3,那么a^2+1/a^2=________.2.不改变分式的值,使分式的分子 分母中各项系数都为整数,0.2x-0.012/-x-0.05=_______3.已知关于x的方程x+m/m(x-1)=- 4/5的解为x=-1/5,则m=______4.若(x-3)^0-2(3x-6)^-2有意义,那么 适合考实验班的高中数学定理 如图,在△ABC中,AD是△ABC的高,AE是△ABC的角平分线,已知∠B-∠C=16°,求∠DAE的求∠DAE的度数 怎样画出一个角的平分线 若sin2α=1/4,则|cosα-sin2α|的值是__________好的,我会看情况加分. 判断钝角大于90°这句话. 怎样用角尺画出角的平分线? 有腊梅品质的人 试确定a的取值范围,使不等式组二分之x+三分之x+1.二分之x+三分之x+1要大于0x+三分之5a+4要大于三分之四﹙x+1﹚+a使这个不等式组恰有两个整数解. 已知α为锐角,sin=五分之三,则tan(α-四分之派)等于 [ ] A.七分之一 B.-七分之一 C.7 D.-7 若sin2α>0且cosα<0.则α是? 《清明上河图》中描写的是北宋哪里的地方 要一篇《每天都是一首诗》的写作指导 小叶红檀和小叶紫檀哪个好 解不等式:(3/2)^x>10^8lg3≈0.477,lg2≈0.301 在直角三角形abc中,c=10,ab=3比4,a=?,b=? 城市面貌,人际关系,交通,社会治安按词性如何排序 (1)解不等式:5(x-2)+8<6(x-1)+7(2)若(10)中的不等式的最小整数解是方程2x-ax=3的解,求a的值 锐角α,β满足sinβ=mcos(α+β)sinα(m>0,α+β≠90°)令x=tanα,y=tanβ,(1)y=f(x)的表达式(2)当α∈[45°,90°)时,求函数f(x)的最大值 红檀和小叶紫檀的区别是什么? 李家和王家共养了521头牛,李家的牛群中有67%的母牛,而王家的牛群中有1/13是母牛,李家和王家各养了多少头牛.1/13(十三分之一)请写出方程式如何计算的. 已知sinα=msinβ,ncosα=mcosβ,且α、β为锐角,求证cosα=根号下(m方-1)除以(n方-1) 腊梅品质成语.诗句 4a的2次方+2b的2次方-6a+3b+16a的2次方+8b-12a+6b其中a=-2,b=5分之1. 已知集合M={x|x方+根号下m乘x+1=0,若M∩R=空集,则M的取值范围是? 请详细解说,用高一知识解说.谢谢 液相色谱仪维修一般是返厂还是现场修 一元二次方程的根的分布函数f(x)=(x-1)log2/3 a-6xlog3 a+x+1,x属于[0,1]时,函数值恒为正,求实数a的取值范围 若a b 为锐角.且tan a = 7分之1 sin b =10分之根号10 则a +2b 等于多少!急 如图,A,B,C都在⊙O上,∠1=∠B.求证:AE是⊙O的切线就是在⊙O中,一个三角形ABC,AB,BC,AC都为任意弦,然后AE直线紧贴⊙O,求AE为切线 已知关于x的一元二次方程x²+(k+2)+2k=0有两个负数根,求k的取值范围.最好今晚或今晚之前给答案!是x²+(k+2)x+2k=0有两个负根 正三棱台的上、下底面边长及高分别为1,2,2,则它的斜高是 ad,ae分别是 △abc的高和角平分线求角dae与角c-角b的关系,请证明 1,2,3,4,5,6,7,8组成两个四位数,它们之差最小,请大家帮我算出这两个四位数. 作文;选自然科学、社会生活热点项内容作调查研究课题,写一份研究报告分数很高了,注意只能400~450字哦 已知如图,△ABC中,AD、AE分别是△ABC的高和角平分线,求证∠C-∠B=2∠DAE 6a²+a-2化简 小叶紫檀和血檀的区别 我国古代朝代大致有哪些 2-(4-a)/(6a)如何化简需要步骤,谢 童年梦境的作文童年梦境的作文 600字 举例说明如何选择社会调查研究的课题 假如你想做一株腊梅(赵丽宏)假如你是作者的朋友,你是否想做一株腊梅 画出最大的圆 社会科学方法论课题选择求帮忙想一个研究课题吧 最好新颖一点,研究范围不要太广,主要题目形式为A和B的关系研究之类的. 英语从零学起,怎么入手呀.是先学音标,还是直接记单词呀.不过音标什么KK音标,DJ音标,IPA音标,都不知学哪个好. 童年梦境的作文! 怎么样用圆规画角平均线 假如你想做一张株腊梅 赵丽宏 对最后一句话的理解.此刻,北风正敲打着我的窗户,而我的那几株腊梅依然在那里默默绽放,默默地吐着清幽的芬芳 以“童年梦境”为题写一篇作文[初一]急!要求:1、充分发挥自己的想象 2、运用描写的表达方式3、字数在600字以上[好的可以追加分的,最好多一点,越快越好] 使用电子白板时,用圆规画角,可以直接显示度数嘛 自学从零学起到英语6级要多长时间?我不是在校生,每天大概有3个小时时间.要多长时间才可以达到英语6级,听力+口语 作文:童年梦境 600字 急用 高数,求解不定积分 ∫√(1+x^2)dx 《假如你想做一株腊梅》(赵丽宏)阅读答案 好的我补加10—20分1.下列句子语言形象生动而富有表现力,请结合语境具体赏析(1)那清香不是静止的,它无声无息地在飞,在飘,在流动,像是有一 如图,点C、D线段AB上,△PCD等边三角形,且△APP∽△PDB,求角APB的度数 已知a∈(π,3π/2),tana=2,则cosa= 已知a、b、c、是三角形ABC的三边,且满足a²+c²=2ab+2bc-2b²,试判断三角形ABC的形状 某商场出售洗衣机上午出售总数的一半多20台下午售出剩下的一半少20台结果还剩105台该商场原来有多少台? 已知a属于(已知a属于(派,3派/2)tana=2,cosa=?求详细解答! 《清明上河图》反映北宋时期社会多方面的情况.试在交通运输工具之外另列举出三类情况.现在立刻马上就需要,(>_ 安徽宁国网友募捐被叫停追踪:1名重症三中全会前瞻:新一轮改革坚持中国特色2014放假安排最早12月定 “只调越南总理积极推动TPP谈判 争取年内印度火星项目负责人祈祷发射成功 称导大众成德国薪酬差距最大公司 高管薪酬两名法国记者在马里遭绑架遇害 遗体抵商家应对中央禁令推便宜年历 省出回扣日本官员爆料:自卫队军演目标是攻击中一客机在蒙特利尔机场失火被迫疏散 致不想脱外套 美国3岁女童被托儿所长活日本一17岁少年将伙伴推下河 称没有在柬埔寨感受“今日中国”2014放假安排最早12月定 “只调两岸产业合作谋新局“有保有放”俄大胆盗贼偷警察大楼 部分武器及文件日媒:安倍上任后已打13次高尔夫 展德国拒绝为斯诺登提供庇护 避免影响德朴槿惠恐无意与安倍会晤 日方宣称极度美参众两院大佬不宽恕斯诺登 将派“安印尼巴厘岛男子咖啡地中发现2000多春节市属公园游客将达180万人次龙潭公园盛装迎庙会尚雯婕 鲍春来穿越《熊出没·奇幻空间主城长途汽车站发车指南,看好莫走错了钟表维修师顾于东 分秒方寸间的22年盆底功能障碍性疾病应及时治疗微信可值机,开包检查更便捷住宿及交通 观赏了美景,品尝了美食,春节期间最易失火 走亲访友注意安全腊月廿九到大年初三 各大卫视春晚排队国家旅游局呼吁广大游客 自觉抵制日本这个春节怎么玩? 永川旅游攻略来了!重庆将用5招减少空气中的PM2.5重庆禁渔期调整 每年3月1日至6月3今明阳光再现 大年三十飘雨明日下午1点起 出城车流迎高峰锣鼓声声迎鸡年 山城闹热耍事多祝愿重庆的明天更加美好春节好电影扎堆上映重庆市 “精准扶贫”纪实摄影展开幕两江国际影视城(原民国街)收取门票公
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘