我有一个正在运行的Task,它在另一个线程中更新了一个Property。
它更新它的那一刻,在循环中它重新检查变量并经常发生变量仍未更新? (第二,二)
以下是一个例子:
while (true)
{
if (someProperty) // Fails to recognize the set variable of True.
{
// Do something...
}
someProperty = true;
}
这是一个多线程问题,应该同步吗?解决这个问题的最佳方法是什么?
答案 0 :(得分:0)
如果此变量在线程之间共享,则必须将其声明为volatile。 https://msdn.microsoft.com/en-us/library/x13ttww7.aspx