delphi32下的多线程程序设计 (2000年11月13日).txt

来自「自己对DELPHI学习的一点体会」· 文本 代码 · 共 52 行

TXT
52
字号
DELPHI32下的多线程程序设计 (2000年11月13日) 

本站更新  分类:   作者:梁毅 李韬  推荐:   阅读次数:560  
(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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?