FileStream stream1 = new FileStream("abc.k",FileMode.Create,FileAccess.Write, FileShare.ReadWrite);
FileStream stream2= new FileStream("abc.k",FileMode.Open,FileAccess.ReadWrite);
//////////////////////////////////////////////////////////////
stream1主要就是不停的写数据到abc.k去。
stream2主要就是重abc.k读取数据。
因为stream1是不停的在把数据写入abc.k,而stream2读取数据是根据一些判断来决定是否要从abc.k取一些数据出来。但是我发现当stream2开始取数据的时候,stream1就会停下来等待stream2取完后,stream1才继续写数据。我应该怎么做才对???????
FileStream stream2= new FileStream("abc.k",FileMode.Open,FileAccess.ReadWrite);
//////////////////////////////////////////////////////////////
stream1主要就是不停的写数据到abc.k去。
stream2主要就是重abc.k读取数据。
因为stream1是不停的在把数据写入abc.k,而stream2读取数据是根据一些判断来决定是否要从abc.k取一些数据出来。但是我发现当stream2开始取数据的时候,stream1就会停下来等待stream2取完后,stream1才继续写数据。我应该怎么做才对???????
改为
FileStream stream2= new FileStream("abc.k",FileMode.Open,FileAccess.ReadWrite,FileShare.Read);
报错,abc.k正由另一进程使用,因此该进程无法访问该文件
楼上的错了。
FileStream stream1 = new FileStream("abc.k",FileMode.Create,FileAccess.Write, FileShare.Read);
FileStream stream2= new FileStream("abc.k",FileMode.Open,FileAccess.Read,FileShare.ReadWrite);stream1共享读。stream2只读模式,共享读写。
{
.....
}
这样应该可以解决进程冲突
steeam2出错,你using stream1干什么??
FileStream stream2= new FileStream("abc.k",FileMode.Open,FileAccess.Read,FileShare.ReadWrite);stream1共享读。stream2只读模式,共享读写。