多线程技术在Delphi数据库编程中的应用

http://tech.ddvip.com   2006年07月31日    社区交流

本文详细介绍多线程技术在Delphi数据库编程中的应用

  一个采用多线程的应用程序允许同一程序的多个部分同时执行,为程序赋予了并行特性,因而可以执行某些实时性或随机性很强的操作,提高对CPU的利用率,加快信息处理速度。

  1、线程的创建

  笔者利用Delphi语言进行了程序的开发和编写, 该语言的优点之一是它有一整套线程同步方法,可以很方便地使用。

  一个进程的主线程是由操作系统自动生成,如果要让一个主线程创建额外的线程,在WinAPI中,可以调用CreateThread来完成。在Delphi中,所有的线程类可以从TThread类派生得到,如下:

  type
OptimizeThread = class(TThread)
private
{ Private declarations }
DocExec:TADOCommand;
CaseID:Integer; //优化方案代码
protected
procedure Execute; override;
procedure DoAnalyse;virtual;abstract;
end;

  这样,就从线程基类TThread派生了一个自己的OptimizeThread类,并在此类中添加了新的变量和方法。然后,用户还需要从OptimizeThread类中派生出一个可供使用的线程对象,如下:

  ScheOptimizeThread = class (OptimizeThread)
private
count :integer; //记录航班的分组
protected
procedure DoAnalyse;override;
public
constructor Create(Exec:TADOCommand;CaseID,count:Integer);
end;

  2、线程的挂起和恢复

  当线程被挂起时,CPU不分配时间片给该线程,线程停止在挂起命令发出时的代码处,直到被允许继续进行。想要挂起线程只要调用线程的suspend方法,或者设置线程对象的suspended为True。若要唤醒线程,则只要调用线程的resume方法,或者设置线程对象的suspended为False即可。

来源:计算机与信息技术    作者:张华 卢慧    责编:豆豆技术应用

正在加载评论...