我有一个线程,我试图停止。我所做的是以下。
randomImages = new Thread(new ThreadStart(this.chooseRandomImage));
randomImages.Start();
这是线程调用的方法
bool threadAlive = true;
public void chooseRandomImage()
{
while(threadAlive)
{
try
{
//do stuff
}
catch (Exception exe)
{
MessageBox.Show(exe.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
现在,单击停止线程按钮后,我只需将 threadAlive 设置为 false。问题是线程不会立即停止,就好像它已经聚集了一种动力。如何立即停止线程,并可能再次重新启动它?
private void butStopThread_Click(object sender, EventArgs e)
{
threadAlive = false;
if(threadAlive == false)
{
//do stuff
}
}