我正在将一些 C# .Net 代码移植到 WinRT,但我无法弄清楚如何替换以下代码:
bool threadDone = false;
Thread updateThread = null;
void StartUpdateThread() {
threadDone = false;
updateThread = new Thread(new ThreadStart(SendUpdateThread));
updateThread.Start();
}
void StopUpdateThread() {
if (updateThread == null) return;
threadDone = true;
updateThread.Join();
updateThread = null;
}
void SendUpdateThread() {
while(!threadDone) {
...
Thread.Sleep(...);
}
}
在 WinRT 中替换它的最佳方法是什么。我查看了 ThreadPool.RunAsync(...) 来启动代码运行,但我不确定停止它并等待它在 StopUpdateThread 中完成的最佳等待。另外,我在我的线程函数中用什么替换睡眠?