[英]C# multi threading query
我正在尝试用C#编写一个程序,它将连接到大约400台计算机并检索一些信息,假设它检索每台计算机上运行的Web服务列表。 我假设我需要一个线程很好的应用程序,以便能够非常快速地从如此庞大的服务器中检索信息。 我对如何开始研究这个问题一无所知,你们能给我一个如何开始的先机!
谢谢!
我认为没有理由在主逻辑中使用线程。 使用异步API并将其回调安排到主线程。 这样你就可以获得异步的好处,但没有与线程相关的大部分困难。
如果您需要对数据执行的工作非常昂贵,那么您的逻辑代码中只需要多线程。 即便如此,您通常也可以使用无副作用的函数进行并行化。
您还应该在多核CPU上并行执行线程以提高性能。
我最喜欢的主题参考如下 -
http://www.albahari.com/threading/
http://www.codeproject.com/KB/Parallel_Programming/NET4ParallelIntro.aspx
您在何处以及如何获取要查询的400台服务器的列表?
你经常需要这样做吗?
您可以使用Windows服务或安排调用您的软件的任务,并在其中您可以在服务器列表中执行foreach元素并使用线程队列/池在不同的线程中启动对此类服务器的调用,但是最大值为无论如何,你不会一起开始400个线程。
描述一下你的解决方案更好一点,我们看看你能做些什么:)
看看这个库: 任务并行库 。 与直接管理线程相比,您可以更有效地利用系统资源并更轻松地管理工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.