多进程同时访问一个文件的问题
现在有个需求,需要控制多进程访问文件的问题,所谓多进程可能并不是只有java的程序会访问,期间可能还有C#的程序同时也要访问这个文件。
现在我在程序里会先调用canWrite()后再去执行文件读写。但是的问题是当还有另一个进程(比如C#写的程序)同时访问时会有问题,在很小的几率下可能会发生调用canWrite()时是可以写的,但是在下面创建文本流的一瞬间文件变为不能写了。
我不知道会不会发生类似的事情?大家如何解决这个问题?原本是想创建一个签出文件,但是这样效率太低,因为java程序每隔1秒就有可能写文件。
[解决办法]
没什么好办法,按照你分析的很少可能
[解决办法]
像linux的log服务那样,做一个服务,专门用来写这个文件。
c#和java都调用这个服务对这个文件进行操作
[解决办法]
WebService corba可以解决
[解决办法]