我正在为ASP.NET缓存项目删除事件创建一个回调函数.
文档说我应该调用一个对象或调用我知道将存在的调用(将在范围内),例如静态方法,但它说我需要确保静态是线程安全的.
第1部分:我可以采取哪些措施使其非线程安全?
第2部分:这是否意味着,如果我有
static int addOne(int someNumber){
int foo = someNumber;
return foo +1;
}
Run Code Online (Sandbox Code Playgroud)
我叫Class.addOne(5); 和Class.addOne(6); 同时,我可能会返回6或7,具体取决于谁首先调用foo?(即比赛条件)
public static void DoSomething()
{
int a;
string b;
//..do something
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我声明了两个变量.它们是静态的,因为包含它们的方法是静态的吗?