有时候还可以,但是有时候很慢。为什么?
void function(PassVehicleInfo vehicle)
{ //a
System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(() =>
{//b
//do something
}));
}
从a
到b
,有时花费1xx ms
,有时花费8 s
。
答案 0 :(得分:1)
BeginInvoke
将您的操作放入队列,由UI线程处理。
如果UI线程忙于处理其他东西(呈现沉重的UI),或者(很可能)有很长的队列要调用其他动作,则每个动作的延迟都会增加。
答案 1 :(得分:0)
我发现了造成此问题的原因。 今天,我通过vs调试了我程序的线程。最后,我发现了为什么UI线程被阻塞。
请勿在UI线程中与服务器通信。这非常意外。
非常感谢其他人。