微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#手动线程

有没有人有任何好的资源显示在C#中创建无限数量的线程而不使用ThreadPool?

我意识到有人可能质疑具有数百或数千个线程的系统的体系结构,所以让我解释一下cpu / OS将使这项工作没有实际意义的任务.

我需要测试大约2500个网址.其中一些非常慢:响应时间超过10秒.无论如何,网络延迟占每项操作的99.99%.

我想尽快测试所有2500个网址.

我连接了一个测试,在他们自己的线程中测试每个测试.

问题是我正在使用ThreadPool,我认为认限制是25,所以这没有用.我需要手动管理它们.我出去吃午饭吗?

我意识到cpu / OS可能也会限制每个cpu的并发线程数,但我相信这个限制是高于25的.

关于体系结构,我意识到如果我要连接2千个HTTP线程,我可能会锁定整个盒子,但这是一个在isoloation中运行的管理任务,可以使用尽可能多的资源.

感谢您的见解.

解决方法

您无法创建无限数量的线程.如果你尝试,你会遇到很多问题.

但是,您可以在C#中增加ThreadPool中的认线程数.只需使用ThreadPool.SetMaxThreads为线程池提供更多可用的线程.它可能比任何手动线程尝试都做得更好(没有在手动过程中投入大量精力).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐