C#线程

ch5201314zt 2010-09-14 10:49:53
开辟了一个线程执行一段任务,任务执行结束以后想结束这个线程!
则么做?
...全文
177 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我想学习线程 找到的都是解释 也没个代码 汗 QQ:457100097
事理 2010-09-14
  • 打赏
  • 举报
回复
定义一个全局变量用来保存你生成线程。
如果一个线程执行完毕,就将他从全局变量中删除

Thread.CurrentThread可以获取当前进入方法的线程
ZengHD 2010-09-14
  • 打赏
  • 举报
回复
        Thread t = null;

bool bExit = false;
private void fun()
{
while (!bExit)
{
}
}
private void button1_Click(object sender, EventArgs e)
{
t = new Thread(new ThreadStart(fun));
t.Start();
t.IsBackground = true;
bExit = false;
}

private void button2_Click(object sender, EventArgs e)
{
//我一般使用这种方法
bExit = true;
System.Threading.Thread.Sleep(1000);
MessageBox.Show(t.IsAlive.ToString());
}

private void button3_Click(object sender, EventArgs e)
{
if (t.IsAlive)
{
t.Abort();
}

System.Threading.Thread.Sleep(1000);
MessageBox.Show(t.IsAlive.ToString());
}
ch5201314zt 2010-09-14
  • 打赏
  • 举报
回复
则么做哩? 不处理?一分钟开了线程一个小时60个 一天 十天 一个月 一年 恐怖哎!都不知道什么时候才能重启一次的!
deyygywxf 2010-09-14
  • 打赏
  • 举报
回复
thread.abort()

thread.join()
laj0600310219 2010-09-14
  • 打赏
  • 举报
回复
Abort方法用于永久地杀死一个线程。在调用Abort前一定要判断线程是否还激活。
ch5201314zt 2010-09-14
  • 打赏
  • 举报
回复
thread.Abort();首先得得到thread这个对象,但是主线程不知道开辟出来的线程什么时候结束的啊!开辟出来的线程我不知道如何得到自己的线程对象。


我需要打开很多线程,不希望随着主线程的结束而结束,希望该线程所需要做的事情做完就把它结束掉

ZengHD 2010-09-14
  • 打赏
  • 举报
回复
我也一样,什么都不处理,就算要退出线程,我也只加个变量,退出线程处理函数
鸭梨山大帝 2010-09-14
  • 打赏
  • 举报
回复
不需要做任何事情,线程在处理完毕这个任务后会自行退出,然后其会伴随主线程的结束而销毁.
ch5201314zt 2010-09-14
  • 打赏
  • 举报
回复
结束当前线程,不需要得到当前线程的对象?
云瑀 2010-09-14
  • 打赏
  • 举报
回复
thread.Abort();
七爷 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 laj0600310219 的回复:]
Abort方法用于永久地杀死一个线程。在调用Abort前一定要判断线程是否还激活。
[/Quote]
直接干掉有问题吗?
mideyong 2010-09-14
  • 打赏
  • 举报
回复
你可能使用BackgroundWorker组件呀~~~~
BackgroundWorker是微软自带的专为多线程封装的一个类,使用非常方便

WTPMCheng 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 laj0600310219 的回复:]
Abort方法用于永久地杀死一个线程。在调用Abort前一定要判断线程是否还激活。
[/Quote]

我也刚接触到线程这块 有啥资料的可以分享下吗?
garfieldzf 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lost_painting 的回复:]
不需要做任何事情,线程在处理完毕这个任务后会自行退出,然后其会伴随主线程的结束而销毁.
[/Quote]

support

111,129

社区成员

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

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

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