Я создал приложение ASP.NET, которое создает потоки в бесконечном цикле.Я установил maxWorkerThreads
на 20 в processModel
в machine.config
.
Когда я проверил количество потоков в perfmon, в рабочем процессе было создано около 7000 потоков.
В PageLoad()
У меня есть:
using System.Threading;
...
int count = 0;
var threadList = new System.Collections.Generic.List<System.Threading.Thread>();
try
{
while (true)
{
Thread newThread = new Thread(ThreadStart(DummyCall), 1024);
newThread.Start();
threadList.Add(newThread);
count++;
}
}
catch (Exception ex)
{
Response.Write(count + " : " + ex.ToString());
}
Функция:
void DummyCall()
{
System.Threading.Thread.Sleep(1000000000);
}
Как ограничить создание потоков в ASP.NET с IIS6 / 7?