如果从不同进程/线程同时访问文件会发生什么?我知道没有标准的方法来锁定文件,只有os特定的功能.
在我的情况下,文件将经常被阅读并且很少被写入.现在,如果A打开一个文件进行阅读(ifstream)并开始阅读块.并B打开相同的文件进行写入(ofstream)并开始编写.会发生什么?有定义的行为吗?
编辑 我的目标是对许多文件进行并发读取,写入访问.但写访问不会经常发生.如果fstream保证文件内容不会混淆,我会很满意.
例如:进程1和进程2写入文件A.如果它们同时写入,我不在乎是否将1或2的版本写入光盘,只要它是文件的一致版本即可.
如果进程读取文件而另一个进程同时写入该文件,我希望读取过程获得该文件的"旧"版本.
如果fstreams没有处理这个,我将使用数据库.