在我提出这个问题之前,我想说,我已经阅读了IIS 7,7,7的线程建模,所以我知道如何处理线程。
我的应用程序在请求进入时启动一个线程。
我们可以将线程视为cron作业。
我连续几次提出相同的请求。我总是等待两个线程退出。 过了一会儿`Thread.Start()1函数阻塞。
问题: 我知道线程正在返回,我没有泄漏任何鬼线。 为什么IIS不允许我在4-5个请求之后启动新线程。 ?
为用户应用程序创建应用程序线程的正确方法是什么。
如果我说Thread t= new Thread()
,这是否从处理GETS或CLR的池中分配了一个线程?
我正在使用IIS7。
我知道我退出每个线程,我在THREAD A上调用JOIN,它永远不会阻塞,此时我并不担心可扩展性,所以我总是让一个用户按顺序点击服务器。
答案 0 :(得分:2)
那么回答你的问题“为用户应用程序创建应用程序线程的正确方法是什么?”(即ASP.NET应用程序) - 你有很多选择:
您提到了有关ASP.NET中线程的阅读,但在"MSDN: Performing Asynchronous Work, or Tasks, in ASP.NET Applications"中,对ASP.NET中的线程如何工作的描述相对较短。在帖子的最后,有一个问题: “Q4:我应该创建自己的主题(新主题)吗?”,该问题的答案是“A4”请不要(创建新主题)。或者说是不同的方式,没有!!!(...)“。
并回答你的问题:“为什么IIS不允许我在4-5次请求之后启动新线程?” 这真的是一种奇怪的行为,也许IIS知道你做错了;)