我有一个正在被一个线程读取的流,同时从另一个线程向流中写入数据。
问题是,读取线程立即退出,因为它认为流中没有更多的数据。
您可以使用BlockingCollection
来表示从一个线程到另一个线程的信息管道。生成线程将数据(在本例中是字节或字节块)写入集合,而另一个线程读取该数据。BlockingCollection
类将负责所有需要的同步。
然后有一个单独的功能,可以将集合标记为"已完成",以表明不再写入任何信息。