📄
字号:
<html>
<head>
<title> 网上周刊 </title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<nobr>
<p></nobr> </p>
<table width="420" border="0">
<tr>
<td align="right"><small><em>[一九九七年九月二十二日 总第676期] 第149版</em></small>
</td>
</tr>
</table>
<p> </p>
<font size="4" color="#118811"><strong>
<p>DELPHI32下的多线程程序设计</strong></font> <br>
<br>
<font size="3" color="#118811"><em>梁毅 李韬</em></font> <br>
我们知道,win95或winNT都是“多线程”的操作系统<br>
,在DELPHI2.0中,我们可以充分利用这一特性,编写出<br>
“多线程”的应用程序。<br>
<br>
对以往在DOS或16位windows下写程序的人来说,“多<br>
线程”仍然是陌生的,但如同以前我们从DOS下的单任务<br>
过渡到windows3.1下的多任务,如今我们又必须过渡到“<br>
多线程”领域,毕竟计算机时代是在不断发展的。不过,<br>
幸运的是,在DELPHI2.0下进行多线程程序设计并不需要<br>
我们去学习庞大的WIN32API函数,我们可以利用DELPHI下<br>
标准的多线程类TThread来完成我们的工作。<br>
<br>
TThread是一个abstract(抽象)类,也就是说,并<br>
不需要根据TThread来声明变量(而且根据TThread声明的<br>
变量也是完全无用),我们要做的是把TThread作为基类,<br>
用继承的形式来生成子类。实际上,根据TThread来写多<br>
线程应用程序是非常容易的。<br>
<br>
下面就是一个基本的继承TThread生成的多线程类。<br>
<br>
QuerThrd.Pas<br>
<br>
unitQuerThrd;<br>
<br>
interface<br>
<br>
uses<br>
<br>
Classes,DBTables;<br>
<br>
type<br>
<br>
TQueryThreadΚclass(TThread)<br>
<br>
private<br>
<br>
fQuery:tQuery;<br>
<br>
protected<br>
<br>
procedureExecute;override;<br>
<br>
public<br>
<br>
constructorCreate(Suspended:Boolean;Query:<br>
TQuery);<br>
<br>
end;<br>
<br>
implementation<br>
<br>
constructor<br>
<br>
TQueryThread.Create(Suspended:Boolean;Quer<br>
y:TQuery);<br>
<br>
begin<br>
<br>
inheritedCreate(Suspended);<br>
<br>
fQuery:ΚQuery;<br>
<br>
FreeOnTerminate:ΚTrue;<br>
<br>
end;<br>
<br>
procedureTQueryThread.Execute;<br>
<br>
begin<br>
<br>
fQuery.Open;<br>
<br>
end;<br>
<br>
end.<br>
<br>
在上面这个简单的例子中,我们构造了一个TThread<br>
的子类TQuery
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -