private void button4_Click(object sender, EventArgs e)
{
if (button4.Text == "暂停")
{
toolStripStatusLabel1.Text = "暂停...";
button4.Text = "继续";
for (int i = 0; i < threads.Length; i++)
{
Thread thr = threads[i];
if (thr.ThreadState == ThreadState.Running)
{
thr.Suspend(); //检测线程状态是否在运行中,是的话使用Suspend方法将其挂起
}
}
}
else
{
toolStripStatusLabel1.Text = "开始...";
button4.Text = "暂停";
for (int i = 0; i < threads.Length; i++)
{
Thread thr = threads[i];
if (thr.ThreadState == ThreadState.Suspended)
{
thr.Resume(); //同上,检测线程状态是否已经挂起,是的话使用Resume方法将其恢复
}
}
}
}
直接上代码了.
此文包括前几文都是出自同一工程中的源码.
感觉小小的项目中涉及了许多自己不知道的东西知识点,就都码了下来.
这段代码简单,没什么可介绍的.
但是自己有一个问题,就是在线程开启后如果任务没有全部完成的话关闭程序,VS还处于运行中状态,我想大概是因为线程还没有全部结束的原因,找了些方法试了下,但还是没有解决.