对 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/