【发布时间】:2020-06-08 14:04:23
【问题描述】:
这个答案 (https://stackoverflow.com/a/6000891/197229) 提供了有关现代 .Net 线程池 (https://docs.microsoft.com/en-us/dotnet/api/system.threading.threadpool?view=netcore-3.1) 的有趣信息
从 .NET Framework 4 开始,线程的默认大小 进程的池取决于几个因素,例如进程的大小 虚拟地址空间。进程可以调用 GetMaxThreads 方法 确定线程数。线程中的线程数 可以使用 SetMaxThreads 方法更改池。每个线程 使用默认堆栈大小并以默认优先级运行。
我的应用程序应该与其他几个应用程序一起在应用服务器上运行。 .Net 在自动分配线程池大小时是否完全分开处理每个应用程序,如果不应该我应该?我的想法是,如果 10 个进程每个都有一个 25 个线程池,那是 很多 个线程吗?
【问题讨论】:
-
您的问题是 .NET Framework 4 特有的,还是您也在考虑 (ASP).NET Core 或最新的 .NET Framework 4.8?
-
@dymanoid 4.0 和更新版本 - 因为线程池在 4 中发生了变化。不知道如何在标签中充分表达这一点!
-
我可能会删除
.net-4.0标签:“用于与 .NET Framework 4.0 相关的问题”。
标签: .net multithreading .net-core