【问题标题】:stream does not support concurrent IO read or write operationsstream 不支持并发 IO 读写操作
【发布时间】:2011-06-01 01:02:14
【问题描述】:

我在 ASP.NET 应用程序中使用网络流从网络读取数据,但在尝试从流中读取时出现此错误:

stream does not support concurrent IO read or write operations

它有时会发生。有什么想法吗?

【问题讨论】:

  • 一个小代码 sn-p 将有助于识别问题..

标签: c# .net multithreading stream


【解决方案1】:

这听起来很简单,就好像您正试图从不同的线程同时对同一个流执行两个不同的操作。添加lock (Monitor) 或Mutex 应该有助于同步对流的访问。

【讨论】:

  • 这是设计使然。一些线程正在从网络读取数据并将其写入流(它是内部流,我使用HttpWebResponse),同时另一个线程读取数据。我认为这是因为同一流上的并发读取或并发写入(?)。我应该使用内存流作为中介吗?
  • @Xaqron - 访问相同的 stream 可能没问题;但您仍然需要交错/同步访问;即它不应该尝试同时进行读取和写入; RWRWRWRW 应该可以工作,RRRWRRWRRW、WWRWWWRWWWRRRRWRWWWRWRW 等也应该工作 - 问题是同时尝试这两件事
  • 耐心回答了我的很多问题后,很高兴为您做点什么,这里是:\R/
猜你喜欢
  • 2018-09-11
  • 1970-01-01
  • 1970-01-01
  • 2013-10-20
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-30
相关资源
最近更新 更多