gar*_*rik 2 c# performance multithreading .net-3.5
在工作线程执行其工作时,什么代码更好地延迟(等待)主线程?
1)
int ticks = System.Environment.TickCount;
while (System.Environment.TickCount - ticks < milliseconds);
Run Code Online (Sandbox Code Playgroud)
2)
Thread.Sleep(milliseconds);
Run Code Online (Sandbox Code Playgroud)
3)
Your variant.
Run Code Online (Sandbox Code Playgroud)
谢谢.
添加
解:
这些都不好.任何一个都会导致UI在工作线程正在工作时变得无响应.
相反,您应该安排工作项在工作线程上运行,然后在工作完成时将消息发送回UI线程.
从工作线程在UI线程上运行的一种方法是:
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
// Your UI thread code to run here.
}
Run Code Online (Sandbox Code Playgroud)
另见.
您也可以使用后台工作人员.
| 归档时间: |
|
| 查看次数: |
824 次 |
| 最近记录: |