ASP.Net webservice中的多线程 - 主线程完成后会发生什么?

时间:2012-02-17 20:43:59

标签: multithreading web-services asmx

我继承了一组遗留的Web服务(VB.Net,IIS托管的ASMX),其中一些WebMethods正在使用基本的多线程。

似乎他们这样做是为了让WebMethod能够通过响应更快地返回到客户端,同时仍然执行一些不会影响响应对象本身的更长时间的运行操作(例如清理操作,日志记录等)。

我的问题是,当主线程(创建WebMethod实例的那个)完成时,这个Web服务会发生什么?这些其他线程是否会终止,或者如果其他线程未完成,它是否实际阻止主线程完成?或者,线程是否在IIS进程上运行完成?

1 个答案:

答案 0 :(得分:0)

除非一个线程在另一个线程上等待,否则线程彼此独立。一旦创建,就没有任何东西阻止请求(主)线程完成,而任何其他线程只是自己完成。