如果主动结束这些子线程?

xkx2003 2010-07-29 09:59:01
Winform界面上有个2个按钮
1个按钮是开启多线程
 
for (int i = 1; i <= 3; i++)
{
Thread multhread = new Thread(new DDprocess().download);
multhread.IsBackground = true;
multhread.Start();
}


另外的按钮,是关闭这些多线程
该怎么操作?
...全文
71 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
边城的刀声 2010-07-29
  • 打赏
  • 举报
回复
使用BackgroundWorker来实现线程,用它的Cancel,而且使用了线程池,比手动创建好一些
xkx2003 2010-07-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyazhe 的回复:]

外面定义一个List<Thread> threads = new List<Thread>();
然后修改你的代码
for (int i = 1; i <= 3; i++)
{
Thread multhread = new Thread(new DDprocess().download);
threads.Add(multhread);
multhread.IsBackground ……
[/Quote]

这个方法不错,先去试一试
兔子-顾问 2010-07-29
  • 打赏
  • 举报
回复
外面定义一个List<Thread> threads = new List<Thread>();
然后修改你的代码
for (int i = 1; i <= 3; i++)
{
Thread multhread = new Thread(new DDprocess().download);
threads.Add(multhread);
multhread.IsBackground = true;
multhread.Start();
}
//停止
multhread[0].Abort();
chichenzhe 2010-07-29
  • 打赏
  • 举报
回复
1,用bool标记控制
2,主线程控制各个线程thread.wait,需要的时候再开启.
3,令线程方法退出死循环,线程会进入无引用状态(等于是关闭了).之后想用的时候再new
hyblusea 2010-07-29
  • 打赏
  • 举报
回复
Thread multhread 申明为全局的

110,538

社区成员

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

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

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