RAD Studio 10.2.3 测试√
unit uTest;
interface
uses
System.SysUtils, System.Classes;
type
TUserBase = class(TThread)
protected
procedure Execute; override;
public
constructor Create;
destructor Destroy; override;
end;
var
G_UserBase: TUserBase; // 在外部就用这个全局变量来创建释放和使用其中的数据
implementation
{ TUserBase }
constructor TUserBase.Create;
begin
// 不添加这一句执行这个 Create 会报错,有的会提示什么【无效句柄 或 无法在正在运行或挂起的线程上调用 Start】
inherited Create(True);
// False和空表示创建线程后立即执行 Execute
// True 表示创建成功后挂起,不会立即执行 Execute,创建成功后需要 .Start 才会执行 Execute
// 然后关于类中需要创建的东东,就在这个下面进行创建就好了
end;
destructor TUserBase.Destroy;
begin
// 这里想必都懂,相关需要释放的代码写在上面
inherited;
end;
procedure TUserBase.Execute;
begin
inherited;
// 这个线程类创建成功后,相关的逻辑代码可以在这个方法中
// 例如:这里可以放一些只需要执行一次的代码
while not Terminated do
begin
// 这个里面可以写一些需要一直要被执行的逻辑
// 例如:这里可以放一些需要往死里循环执行的代码
Sleep(500); // 不能让往死里跑,小心电脑受不鸟,适当的休息休息
end;
end;
end.
一点点笔记,以便以后翻阅。