我刚刚了解了 .NET 中的队列,我有几个问题。
假设我正在构建一个应用程序来下载页面的 HTML,然后对其进行处理。这是我希望它的操作方式:
- 主线程将 URL 添加到队列
- 该队列由另外两个线程读取。他们“出列”一个 URL,然后下载相应的 HTML。
- 然后将 HTML 发送回主线程。
- 当 HTML 到达主线程时,它被放入另一个队列,由另外两个线程处理。这些线程处理 HTML。
- 处理结果返回到主线程。
如何在没有竞争条件的情况下实现这样的场景?
另外,如上所述在队列和线程之间传递信息的最佳方式是什么?
你能给我一些示例代码吗?
谢谢!