Linux下的读取问题,一点疑惑
在linux中写入文件时,然后马上去读取,有没有可能直接从系统缓存中读到,而不从硬盘中读呢? 应该有可能。不过这我们不需要操心 Linux缓存机制有这个吗?怎么只知道读缓存,预读,回写机制? 因为现在在进行一项性能测试,多线程写入图片,然后多线程差不多同时进行读取,发现没从磁盘中读取,所以比较疑惑?我还怀疑是工具的问题 应该是你工具的问题。
不论你是多线程还是单线程, 读文件需要open read 其中系统会给你分配一个唯一的文件描述符,同时系统会给你分配默认的文件缓存区,我无论如何也想不到这个会和别的进程重合。 同一个进程的话,感觉还是有机会的,毕竟用同一个内核缓冲 sync是干嘛的命令?
页:
[1]