请 wangsaokui(无间道III(终极无间)) 帮个小忙 wangsaokui(无间道III(终极无间))的帖子,呵呵,帮楼主顶一下:) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢楼上的To:楼主在你刚才的帖子中我已经回答了,需要在OnStop中Thread.Abort(); 在OnStart中private Thread abc = new Thread(new ThreadStart(Delete_File));abc.Start();在OnStop中abc.Abort(); 我的代码大概如下:在主程序中开启一个背景线程 Thread backThread; private void backThreadStart() { this.backThread=new Thread(new ThreadStart(aa)); this.backThread.Start(); } private void aa() { while(true) { dosomething... } }现在的问题是除非在退出主程序前用backThread.Abort()终止线程,否则backThread不会停止为什么backThread的资源没有被释放?是否可以用这个来做一些需要一直运行的后台程序? 随便一个.net开发的程序,至少3个线程,你可以在任务管理器查看---选择列---选中线程,因为还有框架等,但我们一般把系统的线程忽略了,也就把它当单线程处理主应用停止,但线程并不依赖于主应用的线程,所以仍然运行,backThread的资源没有被释放是否可以用这个来做一些需要一直运行的后台程序?可以,好的做法是设定一个boolean值,在while(这个boolean值)判断,不需要的时候直接置这个boolean为false,这样就停掉了线程(实际没有停,是阻塞了,当你需要线程运行的时候再设置为true)。如果确认停止,比如在windows service的OnStop中,还是需要Abort的 读xml字符串的问题 关于 vs2005 打包问题 覆盖安装 会用Web Service的看过来 十几万数据使用ROW_NUMBER() OVER查询很慢 选中有问题 datagridview里想加一列序号,该怎么加 请教一个字符串的截取问题! 求一正则表达式:6-14个字符,大小写字母和数字,但不能单独是字母和数字 .Net Remoting 出错(高手请进) Location不能指导显位置,如图 做一个象QQ好友一样的头像一闪一闪的,用什么控件实现好? 求OUTLOOK(像QQ面板)风格控件的源码
To:楼主
在你刚才的帖子中我已经回答了,需要在OnStop中Thread.Abort();
private Thread abc = new Thread(new ThreadStart(Delete_File));
abc.Start();
在OnStop中
abc.Abort();
在主程序中开启一个背景线程
Thread backThread;
private void backThreadStart()
{
this.backThread=new Thread(new ThreadStart(aa));
this.backThread.Start(); } private void aa()
{
while(true)
{
dosomething...
}
}
现在的问题是除非在退出主程序前用backThread.Abort()终止线程,否则backThread不会停止
为什么backThread的资源没有被释放?是否可以用这个来做一些需要一直运行的后台程序?
主应用停止,但线程并不依赖于主应用的线程,所以仍然运行,backThread的资源没有被释放是否可以用这个来做一些需要一直运行的后台程序?
可以,好的做法是设定一个boolean值,在while(这个boolean值)判断,不需要的时候直接置这个boolean为false,这样就停掉了线程(实际没有停,是阻塞了,当你需要线程运行的时候再设置为true)。
如果确认停止,比如在windows service的OnStop中,还是需要Abort的