【发布时间】:2012-10-15 11:18:16
【问题描述】:
我正在为我的线程演示使用 Windows 窗体应用程序。当我点击 button1 时,它将启动线程并递归地做一个工作。
这里的表单不会像我预期的那样挂起。我想在单击 Button2 时停止当前正在运行的线程。但是这行不通。
private void button1_Click(object sender, EventArgs e)
{
t = new Thread(doWork); // Kick off a new thread
t.Start();
}
private void button2_Click(object sender, EventArgs e)
{
t.Abort();
}
static void doWork()
{
while (true)
{
//My work
}
}
}
.当我调试时,button2_Click 方法不会命中指针。我想是因为线程一直很忙。
如果我在某个地方出错,请纠正我。
【问题讨论】:
-
定义“行不通”——究竟会发生什么以及您期望会发生什么?
-
对不起。我用定义它来编辑帖子。 Tx 征求意见。 :)
-
调试指针。这意味着该方法不会执行。 :(
-
@devan:在 button1_click 中注释代码并检查 button2_click 是否在点击时被点击...我认为没有为
button2 click.. 分配处理程序。 -
对不起,伙计们是我的错误。谢谢你的帮助。 :)
标签: c# winforms multithreading abort