[問題] 利用迴圈控制執行緒
有一個問題需要各位大大的幫忙 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/19 01:02, , 1F
04/19 01:02, 1F
→
04/19 22:40, , 2F
04/19 22:40, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章