我如何增加ASP.NET核心中的最大线程池限制,默认值是什么?你能举个例子吗?我知道在ASP.NET中默认的最大线程数限制是5000,但是在ASP.NET核心中的值是多少呢?我遇到了“线程池耗尽”问题,需要增加它,因为公司中的用户线程数量自然会增加。
wqsoz72f1#
.Net Core 3.1主控台应用程序执行绪集区最大执行绪信息:结果(工作线程数:32,767,异步I/O线程:1,000个).Net Framework 4.8主控台应用程序执行绪集区最大执行绪信息:结果(工作线程数:2,047,异步I/O线程:1,000个)注意:已使用GetMaxThreads方法
mum43rcc2#
建议的解决方案是将所有的同步方法重写为异步方法。如果在任何地方都正确使用async/await,就不需要更多的线程。线程池耗尽通常是由同步方法长时间阻塞线程造成的。这些方法应该使用参数TaskCreationOptions. LongRunning启动。
Task.Factory.StartNew(action, TaskCreationOptions.LongRunning);
2条答案
按热度按时间wqsoz72f1#
.Net Core 3.1主控台应用程序执行绪集区最大执行绪信息:结果(工作线程数:32,767,异步I/O线程:1,000个)
.Net Framework 4.8主控台应用程序执行绪集区最大执行绪信息:结果(工作线程数:2,047,异步I/O线程:1,000个)
注意:已使用GetMaxThreads方法
mum43rcc2#
建议的解决方案是将所有的同步方法重写为异步方法。如果在任何地方都正确使用async/await,就不需要更多的线程。线程池耗尽通常是由同步方法长时间阻塞线程造成的。这些方法应该使用参数TaskCreationOptions. LongRunning启动。