多线程调用函数:如何多线程的调用函数kko()?(50分)

  • 主题发起人 主题发起人 !雅龙
  • 开始时间 开始时间

!雅龙

Unregistered / Unconfirmed
GUEST, unregistred user!
给个完整的最短小的代码。
 
Procedure kko()
begin
end;
Procedure TMyThread.Execute;
begin
Synchronize(kko);
线程调用同步 //这是类方法调用!所以前面的定义都没有做!(要把父类虚拟,
粗像,等操作)
end;
 
完整一点好吗?谢谢!
:)
 
kko要放在类里面(类的方法),不能放在外面当独立的函数
 
把KKO声明为全局函数
 
都说kko要作为类成员,jinnie你还说要声明为全局函数?
 
type threads=class (tthread)
lab:tlabel;
cur: integer;
max:integer;
private
procedure init ;
protected
procedure execute;override ;
public
constructor create(l:tlabel;m:integer);
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
with threads.create(label1,1000000)do
end;

{ threads }
constructor threads.create(l: tlabel;
m: integer);
begin
FreeOnTerminate:=true;
lab:=l;
max:=m;
inherited create(false);
end;

procedure threads.execute;
var
i:integer;
begin
for i:=0 to maxdo
begin
if not Terminated then
Synchronize(init);
cur:=i;
end;

end;

procedure threads.init;
begin
lab.Caption:=inttostr(cur);
end;

end.
 
后退
顶部