遇到一个问题
假如进程1循环向文件a写200个字节,进程2循环检查文件a的大小,进程2检查的大小能不能保证每次检查的时候都是200的整数倍呢?
我自己写程序测试了下,发现并不能,在网上查了下,答案五花八门,有人说write是原子操作,有人说不是,没得到多少有用的信息。希望有大神相助,感激不尽
我建议你用4096这个值来做测试, 200的话,当你超出文件系统的存储单位时,估计就会分成2次写, 一般文件系统的存储单位都是4K的整数倍
我觉得可能是你一次写得太多了,可以尝试一次烧写一些,看看
你在写的时候加个互斥信号量,就可以完美解决问题