我正在为 Windows Embedded 项目开发 Silverlight,但我的 UI 线程遇到了问题。目前,应用程序 UI 线程必须根据存储在共享内存文件中的数据不断更新其显示,然后在再次更新 UI 之前休眠指定的毫秒数。所以本质上代码是这样的:
while(true){
UpdateUI(); //gets data from shared memory and updates graphics
Sleep(250);
}
但是,我相信你们中的一些人知道,不建议在主 Silverlight UI 线程中使用 Sleep()。果然,我的整个嵌入式系统在运行 20-30 分钟后会崩溃,我已经确定对 Sleep() 的调用是问题所在。
我需要的是一种替代方法来更新 UI,暂停一段时间,然后再次更新 UI,无限重复此过程。
据我所知,该项目的嵌入式特性不允许我使用一些明显的 Sleep() 替代方案,这将是 UI 线程中更好的解决方案(即 Join())。
任何建议将不胜感激!