#眉標=Windows Mobile、Windows CE、Thread #副標=Windows Mobile開發系列(13) #大標=善用多執行緒提昇行動裝置程式效能 #作者=文/圖 沈炳宏 ============= 程式1 private ArrayList allFiles = new ArrayList(); private bool stopRequested = false; private void menuItem2_Click( object sender, EventArgs e) { stopRequested = true; } private void menuItem1_Click(object sender, EventArgs e) { … this.GetAllFiles(); } private void PopulateAllFilesFor(string path) { … foreach ( string subDirectory in Directory.GetDirectories(path)) { this.PopulateAllFilesFor(subDirectory); } } ================ ============= 程式2  Thread t = new Thread( new ThreadStart(this.GetAllFiles)); t.Name = "取得所有檔案"; t.Start(); ================ ============= 程式3  BackgroundWorker bw;  private void menuItem1_Click( object sender, EventArgs e)  { label2.Text = "開始工作"; bw = new BackgroundWorker(this); bw.DoWork += new DoWorkEventHandler(bw_DoWork); bw.RunWorkerCompleted+= new RunWorkerCompletedEventHandler( bw_RunWorkerCompleted); bw.RunWorkerAsync(textBox1.Text); } void bw_RunWorkerCompleted( object sender, RunWorkerCompletedEventArgs e) { label2.Text = e.Result.ToString(); } void bw_DoWork( object sender, DoWorkEventArgs e) { System.Threading.Thread.Sleep(3000); e.Result = "完成:) " + e.Argument.ToString(); } ================