一般我們在撰寫Windows Store App常常會另開一個新的線呈幫我們做事,好比在撰寫Windows Phone 8 App時通常會使用Thread來幫我們另開一個新的線程做其他事項,如此一來就不會把UI拖死,導致APP如當掉一般,但是在撰寫Windows Store App時卻沒有Thread,該怎麼辦呢?!
本篇文章將引導您將一般Thread寫法移植到Windows Store App。
一般我們在撰寫Windows Store App常常會另開一個新的線呈幫我們做事,好比在撰寫Windows Phone 8 App時通常會使用Thread來幫我們另開一個新的線程做其他事項,如此一來就不會把UI拖死,導致APP如當掉一般,但是在撰寫Windows Store App時卻沒有Thread,該怎麼辦呢?!
本篇文章將引導您將一般Thread寫法移植到Windows Store App。
首先這段程式碼是在Windows Phonoe 上開用的Thread:
1: private void DoThread() {
2: Thread thread = new Thread(todoThread);
3: thread.Start();
4: }
5:
6: private void todoThread() {
7: int i = 0;
8: while(true){
9: i += 1;
10: Thread.Sleep(1000);
11: }
12: }
如果在Windows Strore App上要做到相同的事情必須使用async與await來幫助我們完成:
1: private async void DoThread() {
2: await todoThread();
3: }
4:
5: private async Task todoThread() {
6: int i = 0;
7: while(true){
8: i += 1;
9: await Task.Delay(500);
10: }
11: }
如此一來將Windows Phone App 移植到Windows Store App時就不用再煩惱Thread怎麼寫囉!!
References:Asynchronous Programming with Async and Await
文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
轉載請註明出處,並且附上本篇文章網址 ! 感謝。
SUKI