繁体   English   中英

如何中止线程

[英]how to abort thread

我用这样的代码

List<Thread> list = new List<Thread>();

Thread newThread = new Thread(delegate() { stream(string); });
                this.list.Add(newThread);
                newThread.Start();

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            foreach (var item in list)
            {
                item.Abort();
            }
        }

但关闭该过程后仍在任务管理器中运行,如何退出整个应用程序?

我用Google搜寻了很多次,但是所有例子对我来说都很难理解

使用调试器。 如有必要,使用工具+附加到流程将其附加。 调试+全部破坏,调试+ Windows +线程向您显示哪些线程仍在运行。 使用Thread.IsBackground属性将代码保留在左门后面。

退出应用程序:

 Application.Exit(); 
foreach (Thread t in threads) t.Join();

如果您将线程作为后台线程运行,则在退出主应用程序时该线程将停止,如下所示:

Thread newThread = new Thread(delegate() { stream(string); });
this.list.Add(newThread);
newThread.isBackground = true;
newThread.Start();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM