默认最小线程数:用于突发线程爆增时,可秒开设置了最小线程数的线程;
当程序的线程总数大于最小线程数时,dotnet线程池以0.5秒的速度新增加一个线程(会造成线程饿死);
如果未设置默认最小线程,会以当前cpu要核数为最小线程数;
自动生成
xxx.runtimeconfig.json是dotnet编译时自动生成的文件,可以用来调整线程池和垃圾回收;
不能在VS中声明一个xxx.runtimeconfig.json文件,会被sdk自动生成的覆盖(即使声明为始终复制);
修改方式一:在编译后手动添加
在编译成功后的生成目录,手动修改xxx.runtimeconfig.json
{
"runtimeOptions": {
"tfm": "net5.0",
"framework": {
"name": "Microsoft.AspNetCore.App",
"version": "5.0.0"
},
"configProperties": {
"System.Threading.ThreadPool.MinThreads": 500
}
}
}
修改方式二:使用模板文件定义(推荐)
在VS的项目管理中,添加文件:runtimeconfig.template.json,定义的默认规则
文件内容如下:
"configProperties": {
"System.Threading.ThreadPool.MinThreads": 500
}
runtimeOptions这个节点不需要手动添加,是sdk自动生成
最终生成的配置是: