delphi
编程技巧
源代码在线查看: delphi32下的多线程程序设计梁毅 (2000年8月10日).txt
DELPHI32下的多线程程序设计梁毅 (2000年8月10日)
本站更新 分类: 作者:李韬 推荐: 阅读次数:626
(http://www.codesky.net)
--------------------------------------------------------------------------------
我们知道,win95或winNT都是“多线程”的操作系统,在DELPHI2.0中,我们可以充分利用这一特性,编写出“多线程”的应用程序。
1 对以往在DOS或16位windows下写程序的人来说,“多线程”仍然是陌生的,但如同以前我们从DOS下的单任务过渡到windows3.1下的多任务,如今我们又必须过渡到“多线程”领域,毕竟计算机时代是在不断发展的。不过,幸运的是,在DELPHI2.0下进行多线程程序设计并不需要我们去学习庞大的WIN32API函数,我们可以利用DELPHI下标准的多线程类TThread来完成我们的工作。
TThread是一个abstract(抽象)类,也就是说,并不需要根据TThread来声明变量(而且根据TThread声明的变量也是完全无用),我们要做的是把TThread作为基类,用继承的形式来生成子类。实际上,根据TThread来写多线程应用程序是非常容易的。
下面就是一个基本的继承TThread生成的多线程类。
QuerThrd.Pas
unit QuerThrd;
interface
uses
Classes,DBTables;
type
TQueryThread=class(TThread)
private
fQuery:tQuery;
protected
procedure Execute;override;
public
constructor Create(Suspended:Boolean;Query:TQuery);
end;
implementation
constructor
TQueryThread.Create(Suspended:Boolean;Query:TQuery);
begin
inheritedCreate(Suspended);
fQuery:=Query;
FreeOnTerminate:=True;
end;
procedure TQueryThread.Execute;
begin
fQuery.Open;
end;
end.
在上面这个简单的例子中,我们构造了一个TThread的子类TQuery