目前,我有一些功能,这是这样的:我可以向功能添加属性以防止再入?
private bool inFunction1 = false;
public void function1()
{
if (inFunction1) return;
inFunction1 = true;
// do stuff which might cause function1 to get called
...
inFunction1 = false;
}
我想能够声明他们是这样的:
[NoReEntry]
public void function1()
{
// do stuff which might cause function1 to get called
...
}
有没有我可以添加到一个属性防止再入的功能?如果不是,我将如何去做一个?我听说过可以用来在函数调用之前和之后添加代码的AOP属性;他们会适合吗?
在多个线程和多个对象实例存在的情况下,此限制的范围是什么?是否可以在任何时候只通过单个线程为单个对象实例执行function1,还是更轻松? – Constantin 2008-11-24 16:05:15