标签:style io ar color os sp for strong on
看别人的博客一万次记忆效果也没那么好,还是自己动手写写吧!
function CreateThread(
lpThreadAttributes: Pointer; {安全设置}
dwStackSize: DWORD; {堆栈大小:0是系统默认的大小}
lpStartAddress: TFNThreadStartRoutine; {入口函数}
lpParameter: Pointer; {函数参数无类型指针}
dwCreationFlags: DWORD; {启动选项:0: 线程建立后立即执行入口函数;CREATE_SUSPENDED: 线程建立后会挂起等待}
var lpThreadId: DWORD {输出线程 ID }
): THandle; stdcall; {返回线程句柄}
//API实例
function MyFun(p: Pointer): Integer; stdcall;//加stdcall(入口函数)
var
i: Integer;
begin
for i := 0 to 500000 do
begin
Form1.Canvas.Lock;
Form1.Canvas.TextOut(10, 10, IntToStr(i));
Form1.Canvas.Unlock;
end;
Result := 100;//入口函数返回值
end;//返回值作用:等线程退出后, 我们用 GetExitCodeThread 函数获取的退出码就是这个返回值!
//如果线程没有退出, GetExitCodeThread 获取的退出码将是一个常量 STILL_ACTIVE (259); 这样我们就可以通过退出码来判断线程是否已退出.
procedure Form1.Button1Click();
var
ID:Dword;//由于CreateThread中定义ID为DWord类型。
begin
句柄:=CreateThread(nil,0,@MyFun,nil,0,ID);
end;
//TTHread实例
Type
TMyThread =class(TThread)
protected
procedure Exceute; override;
end;
procedure TMyThread.Exceute;//类有的抽象方法(Execute),
begin
FreeOnTerminate:=True;
...
end;
... ...
procedure Form1.Buttom1Click;
var
MyThread:TMyThread;
begin
MyThread:TMyThread.Create(False);//False:立刻执行;True:Resume才执行。Suspend
end;
标签:style io ar color os sp for strong on
原文地址:http://www.cnblogs.com/760044827qq/p/4156584.html