加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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为线程池提供更多可用的线程.它可能比任何手动线程尝试都做得更好(没有在手动过程中投入大量精力).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读