I am very new to C# and I wanted to ask if I have this situation in MULTI THREADS (pseudo code):
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;
}
}
If someMethod() and MethodA() can be active in separate threads, then MethodA() could evaluate the if statement as true; but before it sets myVar = 0, someMethod() sets myVar = 0 making it incorrect to have set myVar to 0 in MethodA()!!
Basically, how do I lock myVar:
- can I
lock{}onmyVar's property (set, get) - do I need to use
Interlock(I have no experience yet ofInterlockthough)?