C#手动线程
发布时间:2020-12-15 20:49:36 所属栏目:百科 来源:网络整理
导读:有没有人有任何好的资源显示在C#中创建无限数量的线程而不使用ThreadPool? 我意识到有人可能质疑具有数百或数千个线程的系统的体系结构,所以让我解释一下CPU / OS将使这项工作没有实际意义的任务. 我需要测试大约2500个网址.其中一些非常慢:响应时间超过10
有没有人有任何好的资源显示在C#中创建无限数量的线程而不使用ThreadPool?
我意识到有人可能质疑具有数百或数千个线程的系统的体系结构,所以让我解释一下CPU / OS将使这项工作没有实际意义的任务. 我需要测试大约2500个网址.其中一些非常慢:响应时间超过10秒.无论如何,网络延迟占每项操作的99.99%. 我想尽快测试所有2500个网址. 我连接了一个测试,在他们自己的线程中测试每个测试. 问题是我正在使用ThreadPool,我认为默认限制是25,所以这没有用.我需要手动管理它们.我出去吃午饭吗? 我意识到CPU / OS可能也会限制每个CPU的并发线程数,但我相信这个限制是高于25的. 关于体系结构,我意识到如果我要连接2千个HTTP线程,我可能会锁定整个盒子,但这是一个在isoloation中运行的管理任务,可以使用尽可能多的资源. 感谢您的见解. 解决方法
您无法创建无限数量的线程.如果你尝试,你会遇到很多问题.
但是,您可以在C#中增加ThreadPool中的默认线程数.只需使用ThreadPool.SetMaxThreads为线程池提供更多可用的线程.它可能比任何手动线程尝试都做得更好(没有在手动过程中投入大量精力). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |