.net - 我可以同时运行多少个线程?

标签 .net vb.net multithreading .net-3.5

another of my questions 的评论说我只能同时运行“这么多”线程,这是我在其他地方看到的概念。

作为线程新手,如何确定要使用的最大线程数?或者这是一个“一段字符串有多长”的问题?它取决于什么?硬件配置还是什么?

(如果重要的话,MS Visual Studio 中的 VB 和 .Net 3.5)

更新:是否有人知道任何可以建议多个线程(或任务)的软件工具,或者我应该自己编写代码,它会不断尝试不同的数字直到吞吐量下降?

[更新] 将近七年后,我们现在有了 a software recommendations site , 所以我 asked如果有工具可以帮助解决这个问题。

最佳答案

这取决于硬件,因为您(可能)使用的不是理论计算机而是物理硬件,因此您的资源有限。

阅读:Does Windows have a limit of 2000 threads per process?

此外,即使您可以运行 5000 多个线程(取决于您的硬件),其运行速度也可能比 10 线程等效程序慢得多。我觉得你应该看看thread pooling .

关于.net - 我可以同时运行多少个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4828296/

相关文章:

c# - 从对象构建表达式时为 lambda 声明提供的参数数量不正确

c# - 在 c# 中将文档保存在 mongodb 中时排除字段

.net - 在WPF中使用内部FriendAccessAllowedAttribute

c# - 将VB代码转换为C#

c# - 从其他线程更新 GUI 控件时如何减少重复?

.net - 是否有可靠的方法使 Compact Framework 和桌面项目与 Visual Studio 2008 保持同步?

vb.net - VBA UDF 返回#VALUE!

c# - 如何将 DateTimePicker 格式化为 hh :mm:ss and What is the appropriate type to save time in mysql?

PHP pthread 似乎不是多线程

c# - 等待多个后台线程