[問題] 利用迴圈控制執行緒

看板C_Sharp作者 (拉)時間17年前 (2009/04/19 01:00), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
有一個問題需要各位大大的幫忙 Orz 目前有一隻式窗介面的c#程式 按開始之後 會跑執行緒 求出一個解 按下停止或把視窗關掉 執行緒就結束 我想要改成可以用迴圈控制 讓他跑完一輪執行緒可以接著重跑一輪 求出另一個解 但不知道從何改起 請指引我一盞明燈吧 感激不盡!! [STAThread] static void Main() { Application.Run(new MainForm()); } // On "Start" button click private void startButton_Click(object sender, System.EventArgs e) { // run worker thread needToStop = false; workerThread = new Thread(new ThreadStart(SearchSolution)); workerThread.Start(); } void SearchSolution() { while (!needToStop) { ......... if ((iterations != 0) && (i > iterations)) break; } } // On "Stop" button click private void stopButton_Click(object sender, System.EventArgs e) { needToStop = true; while (!workerThread.Join(100)) Application.DoEvents(); workerThread = null; } // On main form closing private void MainForm_Closing(object sender, System.ComponentModel.CancelEventArgs e) { // check if worker thread is running if ((workerThread != null) && (workerThread.IsAlive)) { needToStop = true; while (!workerThread.Join(100)) Application.DoEvents(); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.181.121

04/21 11:30, , 1F
04/21 11:30, 1F
文章代碼(AID): #19wWTA6j (C_Sharp)