有人可以解释为什么这个循环永远不会“破坏”并永远继续下去吗?如何告诉程序重新检查状态?在状态发生变化之前,我想做的就是进步。感谢
DispatcherOperation dis = null;
for (int i = 0; i < 2; i++)
{
updateTextBox(i.ToString());
dis = Dispatcher.BeginInvoke(DispatcherPriority.Send, new Action(delegate
{
//yes, do nothing at all!!
}
));
}
while(dis.Status != DispatcherOperationStatus.Completed)
{
}
答案 0 :(得分:4)
如果你在调度程序运行的同一个线程上执行此操作,那么无限的,不屈不挠的循环会有效地关闭调度程序,使其无法分派调用。你不应该像这样循环 - 至少把睡眠放在循环中。