是否德尔福VCL/RTL有类似的AutoThread类?即,类的每一个方法从例如衍生TAutoThread类将然后 AUTOMATICALLY 在单独的线程中执行,而无需编写任何线程特定代码。
最佳答案
使用 Anonymous thread
有可能使作为AutoThread类类似的东西。
只是通过一个匿名的程序并调用线程。
var
aThread : TThread;
...
aThread :=
TThread.CreateAnonymousThread(
procedure
begin
// your code to execute in a separate thread here.
end
);
aThread.Start; // start thread and it will execute and self terminate
注意,这与从另一个类派生的一个类无关,但是结果是相似的。您不必编写任何线程特定的代码。当然,您将必须遵循正常的线程规则。
如果你需要得到通知时,线程完成,启动线程之前定义的
OnTerminate
方法。这将在主线程中执行。aThread.OnTerminate := Self.ThreadFinishedNotification;