WP7与PriorityThreadPool&网络行动

时间:2011-04-07 01:12:27

标签: c# networking windows-phone-7 threadpool

我正在构建一个需要通过Web访问/更新多个资源的小型WP7应用程序。我正在寻找一个带有一些取消功能的PriorityThreadPool对象,以帮助我在后台的几个Thread上运行“Action”。那么自定义的东西优先下载用户正在看到的内容然后下载其余部分,但是如果用户更新了视觉效果,那么更改优先级并使这些项目在池的适当列表中显示在上面。

假设我正在实施一项负责从Web服务器下载图像的操作,您是否会尝试使异步调用同步,或者您只是将其保留原样,请考虑我可能会执行100次下载操作100个不同的形象。也许如果我不进行调用同步取消操作将非常困难,因为它们在线程池中都会运行得非常快。我想在WP7上有一些用于网络连接的线程池

任何意见或建议。

1 个答案:

答案 0 :(得分:0)

我没有尝试和(重新)创建“PriorityThreadPool”,而是创建一个管理多个队列的对象,您可以根据需要调整优先级。
然后,这可以根据优先级处理每个队列 处理队列时,一次只发出一些请求,并在完成后启动下一个请求。

如果您想要更好地控制能够取消请求,您可以在ThreadPool上进行处理或创建BackgroundWorker。

在每个请求中,您可能希望将其作为同步操作进行处理,因为它会使逻辑更简单,但会使取消更难。