Z
zhjwjan
Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个线程类,它不知道自己执行的代码是什么,线程类定义如下:
TExecuteBody = procedure(param1, param2, param3, ...) of object;
TMyThread = class(TThread)
private
FExecuteBody: TExecuteBody;
protected
procedure Execute;
override;
public
property ExecuteBody: TExecuteBody read FExecuteBody write FExecuteBody;
end;
procedure TMyThread.Execute;
begin
if Assigned(FExecuteBody) then
FExecuteBody(param1, param2, param3, ...);
end;
我可以在任意地方创建这个类的实例,为它指定执行内容,然后让线程运行。这样的话,我必须
在要执行的过程里注意好线程访问问题,我不想用synchronize,请问我应该注意哪些问题?
如果说我把某个类的一个方法赋给ExecuteBody,那么这个类里面能不能访问该类的成员和方法?
如果在这些方法中使用到临届区变量,这些变量是否应该是全局呢?这只是我想到的一些问题,
其它注意事项请大家赐教。谢谢!
TExecuteBody = procedure(param1, param2, param3, ...) of object;
TMyThread = class(TThread)
private
FExecuteBody: TExecuteBody;
protected
procedure Execute;
override;
public
property ExecuteBody: TExecuteBody read FExecuteBody write FExecuteBody;
end;
procedure TMyThread.Execute;
begin
if Assigned(FExecuteBody) then
FExecuteBody(param1, param2, param3, ...);
end;
我可以在任意地方创建这个类的实例,为它指定执行内容,然后让线程运行。这样的话,我必须
在要执行的过程里注意好线程访问问题,我不想用synchronize,请问我应该注意哪些问题?
如果说我把某个类的一个方法赋给ExecuteBody,那么这个类里面能不能访问该类的成员和方法?
如果在这些方法中使用到临届区变量,这些变量是否应该是全局呢?这只是我想到的一些问题,
其它注意事项请大家赐教。谢谢!