Ser*_*rge 3 c# parallel-processing web-services
我目前正在编写一个应用程序,这个应用程序会大量调用缓慢的Web服务(我没有说那种模式)产生很少的输出.我想做100个并行调用(我知道真正的并行性只能到你的核心).但我想知道他们是否是不同方法之间的性能差异.
我在犹豫之间犹豫:
我的主要目标是尽可能快地启动尽可能多的Web服务调用.我该怎么办?
从绩效的角度来看,这不太重要.正如您自己所描述的,程序中的瓶颈是对性能缓慢的Web服务的网络调用. 那将是瓶颈.在启动新线程或管理新线程所需的时间长度上的任何差异都不太重要,因为它们会被网络交互所掩盖多少.
您应该使用您最熟悉的模型/框架,这将最有效地允许您编写您知道正确的代码.同样重要的是要注意,您根本不需要在机器上使用多个线程.您可以从同一个线程向Web服务发送大量异步请求,甚至可以处理同一线程中的所有回调.并行发送请求不太可能产生任何有意义的性能影响.因此,您并不需要使用您所描述的任何框架,尽管任务并行库在管理异步操作方面实际上非常有效,即使这些操作不代表另一个线程中的工作.你不需要它,但它肯定能够提供帮助.