我正在尝试在Delphi中构建一个通用的工作线程,可以将函数/过程(无论哪种)作为参数传递并让它执行。
我的想法是在TThread
类中添加一个字段,并从TThread.Execute
中调用它。
因此,线程外部的代码将会是:
MyThread := TWorkerThread.Create(True); Mythread.CallBackF := @Foo; try MyThread.Resume; except MyThread.Free; end;
如何在TWorkerThread
中保留@foo
的引用并从Execute
内部调用它?
WaitFor
?) - Andreas RejbrandWaitFor
做的事情吗?我不需要任何决策返回,只需要网络例程,需要最多 500 毫秒。 - Ed.CFreeOnTerminate
属性可以解决问题? - Andreas RejbrandTWorkerThread.Create(Foo)
。在构造函数中,调用inherited Create(False)
,设置CallBackF
,并设置FreeOnTerminate := True
。 - Rob Kennedy