C#中如何杀死一个线程?我有一个线程可以打开MyMessageAlert类型的表单。此表单是一个弹出窗口,在我调用它时打开。它有一个计时器,可在30秒后调用CloseWindow()方法。m_messagAlert=newMyMessageAlert();ParameterizedThreadStartthStart=newParameterizedThreadStart(m_messagAlert.setMessage);线程thread=newThread(thStart);thread.Start(strMessage);//此时,MyMessageAlert窗体打开。我已经定义了一个类型的线程列表:publicListm_listThread;每次我创建一个线程时,我都会将它添加到我的列表中:m_listThread.Add(thread);当我关闭应用程序时,我希望打开的MyMessageAlert类型的表单立即关闭(不要等待30秒)。问题是我停不下来!我试图通过使用Abort()函数遍历列表来杀死它:foreach(Threadthreadinm_listThread){if(thread.IsAlive)thread.Abort();但它没有帮助。也许您想使用Background-Threads而不是Foreground-Threads。您的应用程序从至少一个前台线程(主进程线程)开始。如果您直接使用Thread类(例如newThread(...))创建新线程,这将是一个前台线程。当至少一个前台线程仍在运行时,AppDomain不会被卸载。为避免这种行为,您可以创建后台线程。通常,您使用ThreadPool类中的后台线程,或直接在线程对象上设置IsBackground-Property。编辑:来自MSDN的简短解释。以上就是C#学习教程:C#如何杀线程?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
