问题描述
1.所有的进程都在读文件的话,文件放开,谁都可以读2.如果有一个进程在写文件,读写进程就都阻塞,被阻塞的进程排成队列,一旦该进程写完毕,排队的进程开始对文件的访问.3.如果一个进程要写该文件,但是发现有些进程正在读文件,则等读文件的进程都OK后,才开始写文件,写的过程中阻塞后面来的读写进程.
解决方案
解决方案二:
windows机制好象不允许多个进程读同一文件哦
解决方案三:
不用你做吧,StreamWriter写文件的时候,就是独占的StreamRead读文件的时候文件可以随意读取的
解决方案四:
至于多进程倒没有尝试过,但是单程里对一个文件同时开放多个StreamRead是可以的,而且在所有的StreamRead关闭之前是不允许使用StreamWriter的。同样StremWriter没有关闭之前也不能开放任何的StreamRead
解决方案五:
YoumayuseSystem.Threading.ReaderWriterLockclass.Itprovidesyoufunctionsthatyouwant:AcquireReaderLockAcquireWriterLockReleaseReaderLockReleaseWriterLock...CallingAcquireReaderLock()willsucceedifthereareonlyReaderLocksbutnoWriterLocks.CallingReleaseWriterLock()willblockuntilexclusiverightcanbeobtained.
解决方案六:
Correction:CallingReleaseWriterLock()willblockuntilexclusiverightcanbeobtained.CallingAcquireWriterLock()willblockuntilexclusiverightcanbeobtained.
解决方案七:
如何实现多个进程对文件的并发读写访问,...Remark:Idon'tthinkReaderWriterLockwillworkinthecaseofmultipleprocesses.Toworkinmultipleprocessescase,everyprocessmusthonourtheread/writelockmechanism.Youcannotpreventa'badguy'fromjustgrabbingthefileanddoingnastythingstoit.