中国开发网: 论坛: 程序员情感CBD: 贴子 670185
pcplayer: 具体到我的应用,大概是这样的:
TMyClass = class
public
procedure DoSometing;
end;

procedure TMyClass.DoSometing;
begin
Do1;
...
Do2; //这里,如果让线程来调用,必须加上同步。但我在这个类里,无法用到 Delphi 的线程对象的同步方法。
...
Do3;
..
end;

这个 TMyClass.DoSometing 可能有很多实例,可能被很多地方调用,包括线程。如果是线程,它里面的 Do2 方法必须加上同步。但又不希望整个 DoSometing 被包装在线程的同步方法里 -- 当然我有不希望这样做的原因。

当然,如果不封装,直接把 Do2 拿出来放到线程里,就没这个问题了。但也就失去了面向对象的本意。

这种情况该如何处理呢 ?

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录