如何在主线程中关闭工作线程

WInScar 2009-09-02 06:03:28
大家好。
我建立了一个主线程。之后在主线程下写了这样的代码建立了个副线程:

//创建HandleServer对象以开启线程
HandleServer newHandleServer = new HandleServer();
newHandleServer.client = this.client;
newHandleServer.Fs = this;

Thread MainWorkThread = new Thread(new ThreadStart(newHandleServer.HandleMainServer));
MainWorkThread.Start();


请问,当我现在想用一个主线程中的事件来关闭已经开启的工作线程的时候,应该如何做呢?
而且,当这样的工作线程很多的时候,我应该如何判断该关的线程是哪个并进行关闭呢?
请大家赐教!!!!!
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cysccnu 2009-09-05
  • 打赏
  • 举报
回复
MainWorkThrea.Abort()

在调用Abart方法的线程上引发 ThreadAbortException,以开始终止此线程并提供有关线程终止的异常信息的过程。调用此方法通常会终止线程。
WInScar 2009-09-05
  • 打赏
  • 举报
回复
关于这个问题。是否有更好的方法呢?
主流办法就是上述那种?
人工智能算法 2009-09-02
  • 打赏
  • 举报
回复
比如 设置工作线程为一个类里的线程方法 设置类成员变量 bool start = true;

你工作线程的方法中

while(start)
{

}

当在线程外(主线程中)修改了 start的值 = false

那么工作线程调用方法完毕 自动停止了
WInScar 2009-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 knight94 的回复:]
to 而且,当这样的工作线程很多的时候,我应该如何判断该关的线程是哪个并进行关闭呢?

应该是主线程发送关闭消息,让工作线程自己去关闭。
[/Quote]

你好。。。发送的关闭消息被工作线程接收时,工作线程如何知道该关闭的是自己呢?
Knight94 2009-09-02
  • 打赏
  • 举报
回复
to 而且,当这样的工作线程很多的时候,我应该如何判断该关的线程是哪个并进行关闭呢?

应该是主线程发送关闭消息,让工作线程自己去关闭。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧