【发布时间】:2009-12-04 18:48:09
【问题描述】:
我有一个应用程序,它使用 Flex 前端和 .NET Web 服务将项目及其文件从预览版转移到生产中。目前,该过程大约需要 5-10 分钟/每个项目。除了延迟问题之外,它真的不应该花那么长时间。我想知道这是否是多线程的好用例。此外,考虑到用户可能想要推送多个项目或一个接一个地推送,有没有办法将作业排队。
非常感谢任何建议和示例。
谢谢!
【问题讨论】:
-
您是否对此进行了分析以确定为什么它需要比预期更长的时间?
-
roygbiv 是正确的 - 如果您要最大化磁盘或网络带宽,那么多线程毫无意义,这就是它需要这么长时间的原因。找出它为什么这么慢,而不是随机采取纠正措施。
-
正如 roygbiv 和 Michael 指出的那样,您需要进行一些分析,以免最终优化错误的内容。 5-10 分钟中有多少是处理器、磁盘 i/o 和网络流量。压缩有帮助吗?是否有可以并行完成的任务?您的应用程序是否主要在 Web 服务上等待?即使是一些相当简单的跟踪语句也应该产生一些有用的观察结果。
标签: c# apache-flex multithreading queue