首页 新闻 搜索 专区 学院

IIS回收的时候,C#线程池里面的代码会停止执行吗?线程池是前台线程还是后台线程?

0
悬赏园豆:10 [已解决问题] 解决于 2015-06-05 10:34

IIS回收的时候,C#线程池里面的代码会停止执行吗?线程池是前台线程还是后台线程?

递龟的主页 递龟 | 初学一级 | 园豆:2
提问于:2015-06-05 09:58
< >
分享
最佳答案
0

IIS回收时,进程就会立即终止, 线程应该也会随之终止的。线程默认为前台线程,这意味着任何前台线程在运行都会保持程序存活。后台线程:只要有一个前台线程在运行,应用程序的进程就在运行。如果多个前台线程在运行,而Main()方法结束了,应用程序的进程就是激活的,直到所有前台线程完成其任务为止。

收获园豆:10
请叫我头头哥 | 大侠五级 |园豆:9382 | 2015-06-05 10:21

我看的你的答案头好晕啊.... 线程池ThreadPool会停止的是吧?

 

递龟 | 园豆:2 (初学一级) | 2015-06-05 10:24

@递归中的DOM: 如果 ThreadPool 中的一个或多个线程正在执行除重叠 IO 以外的其它任务,那么 ThreadPool 会等到任务执行完成才停止,同时也会阻止 IIS 的应用程序池回收。为了避免这种情况发生,IIS 有项设定,允许在超过一定时间间隔后,如果应用程序池没有回收,则强制卸载应用程序域。

Launcher | 园豆:45045 (高人七级) | 2015-06-05 10:30

@Launcher: 谢谢啊

递龟 | 园豆:2 (初学一级) | 2015-06-05 10:33

@Launcher: 请问 iis怎么设置超过一定时间间隔,强制卸载应用程序域?

fabc | 园豆:202 (菜鸟二级) | 2018-03-26 18:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册