[筆記]C# Windows 8 & 8.1 開發,一般Thread寫法移植到Windows Store App。

  • 2091
  • 0
  • C#
  • 2015-06-10

一般我們在撰寫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

HOLIESTAR