내가 WinRT 일부 C# .NET 코드를 포팅하고 있는데 다음과 같은 대체하는 방법을 알아내는 데 문제가 있어요 기다립니다 :/정지를 시작하는 방법/스레드
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에서 완료를 기다리는 가장 좋은 대기 시간은 확실하지 않습니다. 또한 스레드 함수에서 수면을 바꾸려면 어떻게해야합니까? 대신 await
- 우리가 C# 5 GUI 응용 프로그램을 얘기하고 있기 때문에 당신은 아무것도를 차단하고 Task
들과 async
을 사용하지 않은 경우
스레딩이 작동하지 않습니다! 긴 라이브 스레딩! –
그럼 대체할까요? 기본적으로 주기적으로 (N 밀리 초마다) 업데이트를 보내려고합니다. WinRT로이 작업을 수행하는 더 좋은 방법이 있습니까? –
사소한 비동기/대기 응답을 얻는 것은 자세한 정보 없이는 대답하기 어려운 질문입니다. 누구에게 업데이트를 보냅니 까? 예기치 않게 삭제 표시 또는 종료 될 때 당신은 무엇을합니까? –