66问答网
所有问题
c# winform 关闭指定线程?高分50分求解!
比方一个程序开了100个子线程。我现在要手动指定关闭其中的某几个线程,代码如何写啊?
(如果我把新建的子线程都放在一个hashtable里?之后按需求获取并关闭?是这个思路么?具体代码谁能给我个)
举报该问题
推荐答案 2010-11-28
private List<Thread> allThread=new List<Thread>();
//建立,自己可以加一些其他参数
private void BuildThread(string name, ParameterizedThreadStart start, object state)
{
Thread t = new Thread(start);
t.Name = name;
allThread.Add(t);
t.Start(state);
}
//查找,自己可以加一些其他查找条件
public Thread FindThread(string name)
{
return allThread.Find(delegate(Thread t)
{
if (t.Name == name)
return true;
return false;
});
}
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/n9UDUv9xi.html
其他回答
第1个回答 2010-11-29
楼主,分数和悬赏不对应嘛.
两种方法.
一个是记录所有的线程引用,要结束时找到对应线程执行Abort.但是这样不推荐,因为中断的线程你无法控制运行到哪里终止,可能会导致以外的操作,而且Abort时肯定会抛出异常,线程中止.
第二个就是使用变量来控制,线程和主线程共享变量,要终止时改变对应的变量,线程中检测到这个标记时自动退出即可.
相似回答
c#
winform
服务端如何
关闭某一
个特定的子
线程
答:
把
线程
放到集合里 需要
关闭
时,取出关闭即可
C#
winform
如何结束
指定
的
线程?
答:
thread.exit 或者
线程
thread.waitfor()
C#
WinForm
程序中,使用多
线程
,在
关闭
窗体时 怎么关闭窗体的所有线程。使...
答:
程序退出的方法:this.Close(); 只是
关闭
当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管
线程
(非主线程),也无法干净地退出;Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;Application.ExitThread(); 强制中止调用线程上的...
C#
winForm
Socket 多
线程
编程
关闭
问题
答:
2中方式,除主
线程
外其他线程设置为后台线程,即background thread,这是线程创建时的一个属性,另一种就是应用程序退出时的事件里手动退出线程 --- void Application_Exit(object sender,args e){ //thread.abort();} 好像是这样写吧,好久没用
C#
了,有点忘了,MSDN上有详细的说明 socket是非托管...
C#
winform
中
关闭
子窗体同时关闭该子窗体中的
线程
答:
如果只存在一个
线程
,那么可以在子窗体类中申明一个 Thread 类成员变量保存你所创建的线程对象,在 FormClosed 事件中调用 Thread.Abort() 方法终止该线程。若存在多个线程,使用 ArrayList 或 List<Thread> 集合保存所有创建的线程对象,在 FormClosed 事件中(或 FormClosing 事件):// 终止所有线程 fo...
C#
WinForm
关闭
之后还有进程在后台运行,如何实现彻底关闭
答:
1、找到后台的运行
线程
,用BOOL变量控制;2、Environment.Exit(Environment.ExitCode); 用这个试试
大家正在搜
winform15分钟开一次线程
winform 线程
winform跨线程更新ui
winform跨线程访问控件
winform多线程打开另外窗体
winform多线程例子
线程可以创建线程吗
c# 多线程
多线程 自定义控件