首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于web的系统中后台线程的生命周期

基于web的系统中后台线程的生命周期
EN

Stack Overflow用户
提问于 2017-07-11 08:19:39
回答 1查看 50关注 0票数 0

有一次,我做了一次实验,说有一次我使用了类似于Thread.IsBackground = true (后台线程)之类的东西,并在控制器方法的方法中做了一些繁重的工作。代码片段如下所示:

代码语言:javascript
复制
Thread th = new Thread(()=>Thread.Sleep(10000); Log.Write……);
th.IsBackGround = true;
th.Start();

事实上,对控制器方法的请求不会花费那么多时间(这只是一个实验!)当我请求控制器的具体方法时。我没看到任何记录!

我知道这一点,因为线程的生命周期与简单请求的生命周期一样长。但是,如果我想使用类似的任务(我知道这取决于线程池……的……= true ),等等。

有可能吗?我现在有几种方法,也许不是很好,但想知道更多的建议:

1)直接使用“线程”(除了抛出的异常)来中止要由GC回收的"Thread“实例?

2)在NET4.0中使用"Task“,将"TaskOptions”与LongWorking一起使用(它会被GC回收并完成繁重的任务吗?)

( 3)在基于web的应用程序中,当请求发出时,有关线程的任何其他想法都可以完成繁重的工作,并由GC回收吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-11 08:36:08

我不确定我完全理解你的问题,但这可能对你有用,HostingEnvironment.QueueBackgroundWorkItem() in ASP.NET for small background tasks

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45029074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档