2024年3月20日发(作者:)
◆delphi多线程编程之一create和Free◆
(调试环境:Delphi2007+WinXPsp3 例程Tst_)
Google搜到线程的例子都是那个画图的,猛禽那个多线程又太过高深(对于我这一滴水来说),
万一老师开线程的博还是要等。只有自己看着《Delphi5开发人员指南》中文版PDF一步一步来弄懂些
初步的东西,到时候可以跟上万一老师的课程。
一、创建:
1、直接书写:
unit Unit1;
interface
uses Classes;
TMyThead = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end;
implementation
{用鼠标放在上面的TMyThead上按ctrl+alt+c直接自动生成下面的}
procedure e;
begin
inherited;
end;
2、在File菜单的New—Others—Delphi Files里面选Thread Object,出来一个对话框,你在Thread名
字里填TMyThread后,就会自动生成一个新的Unit2,里面的内容和上面一样。
二、简单例子:(例程:Tst_)
在一个Form上放3个按钮和一个Memo,然后加上下面这段。
TMyThead = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end;
var
Form1: TForm1;
m:integer;
implementation
{$R *.dfm}
{ TMyThead }
function Func1(const n:Integer):Integer; // 定义一个耗时函数来运行
begin
Result:=Round(abs(Sin(Sqrt(n))));
end;
procedure e;
var
i:integer;
begin
for i := 0 to 20000000 do
inc(m,Func1(i)); //m全局变量
end;
procedure 1Click(Sender: TObject);
var
i:integer;
begin
for i := 0 to 20000000 do
inc(m,Func1(i)); //m全局变量
end;
procedure 2Click(Sender: TObject);
var
MyThread:TMyThead;
begin
发布评论