Я очень новичок в 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;
}
}
Если someMethod()
и MethodA()
могут быть активны в отдельных потокахтогда MethodA()
может оценить оператор if как true;но прежде чем он установит myVar = 0
, someMethod()
устанавливает myVar = 0
, что делает неправильным установку myVar
в 0 в MethodA()
!!
По сути, как мне заблокировать myVar
:
- могу ли я
lock{}
на свойстве myVar
(установить, получить) - мне нужно использовать
Interlock
(хотя у меня пока нет опыта Interlock
)?