如此的调用线程,为何不起作用?
线程类
==================================================================
调用线程的方法一
==================================================================
调用线程的方法二
==================================================================
问题:为何方法二调用线程时主程序仍假死呢?而方法一调用线程则主程序不受影响。
unit uTSavePic;
interface
uses
Classes, StdCtrls, ComCtrls, ExtCtrls, Graphics, SysUtils;
type
TSavePic = class(TThread)
private
protected
public
constructor create;
procedure Execute; override;
procedure SendPic;
end;
implementation
constructor TSavePic.create;
begin
FreeOnTerminate:=true;
inherited create(false);
end;
procedure TSavePic.Execute;
begin
//访问一个不存在的网路路径,这会使用很长时间
end;
procedure TSavePic.SendPic;
begin
//访问一个不存在的网路路径,这会使用很长时间
end;
end.
==================================================================
调用线程的方法一
TSavePic.Create;==================================================================
调用线程的方法二
var
nTSavePic:TSavePic;
begin
nTSavePic:=TSavePic.Create;
nTSavePic.SendPic;
==================================================================
问题:为何方法二调用线程时主程序仍假死呢?而方法一调用线程则主程序不受影响。
...全文


语言基础/算法/系统设计
