我是C#的新手,我想询问我是否在MULTI THREADS(伪代码)中遇到这种情况:
public class ClassA
{
ClassB c = new ClassB();
public void someMethod()
{
c.myVar = 1;
// Some other stuff
c.myVar = 0;
}
}
public class ClassB
{
internal int myVar;
public void MethodA()
{
if(myVar = 1)
myVar = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
如果someMethod()且MethodA()可以在单独的线程中处于活动状态,则MethodA()可以将if语句评估为true; 但在它设置之前myVar = 0,someMethod()设置myVar = 0为不正确设置myVar为0 MethodA()!!
基本上,我如何锁定myVar:
lock{}对myVar"财产(设置,获取) Interlock(Interlock …