pwrite后,立时pread,为什么有时候读不上来
pwrite后,立马pread,为什么有时候读不上来?
pwrite后,立马pread,为什么有时候读不上来?
------解决方案--------------------
pwrite是什么?pread又是什么?Pipe?
读不上来数据,如果是软件层间,可能是管道中数据为空;如果是硬件层面,就要考虑硬件的处理速度了,比如单片机数据处理,一般都是连续读取,比如100次,才有可能获取到数据的。
------解决方案--------------------
怀疑是因为硬盘缓存造成的结果
write的时候先写到缓存中,然后写到磁盘中
而read则是直接从硬盘中读取,这有个时间差的问题
------解决方案--------------------
如果是读取文件内容,建议写完以后先close一下文件,然后再open,再read,应该就没有问题了
------解决方案--------------------
有无检查返回值?
有无对fd设置选项?
------解决方案--------------------
是缓存的问题。可以刷新缓冲区,再读
pwrite后,立马pread,为什么有时候读不上来?
------解决方案--------------------
pwrite是什么?pread又是什么?Pipe?
读不上来数据,如果是软件层间,可能是管道中数据为空;如果是硬件层面,就要考虑硬件的处理速度了,比如单片机数据处理,一般都是连续读取,比如100次,才有可能获取到数据的。
------解决方案--------------------
怀疑是因为硬盘缓存造成的结果
write的时候先写到缓存中,然后写到磁盘中
而read则是直接从硬盘中读取,这有个时间差的问题
------解决方案--------------------
如果是读取文件内容,建议写完以后先close一下文件,然后再open,再read,应该就没有问题了
------解决方案--------------------
有无检查返回值?
有无对fd设置选项?
------解决方案--------------------
是缓存的问题。可以刷新缓冲区,再读