背景:
内存往磁盘写东西不可能实时更新,这是一种机制优化,如果频繁交互会影响性能;一般都是等到缓冲区满了才进行一次交互,但进行write操作可能会存在等待多次缓冲区填满再传输到磁盘的过程
为什么不能从CPU中写入磁盘?
对于读取速度来说:CPU > 内存 > 磁盘
内存作为高速存储器,可以在 CPU 与磁盘之间起到缓冲作用,避免 CPU 在等待磁盘数据时被阻塞,从而减少频繁的、低速的 I/O 操作,提高整体数据传输效率
白话:”拉卡车买菜,只运1根葱不划算,肯定得等卡车都装满“
若确切需要实时交互的场景 --- 使用.flush()
未加 flush():
程序开始运行时,打开目标文件,发现内部什么数据都没有,原因是待写入的数据此时正在缓冲区,等待装满才传输写入
添加 flush():
程序开始运行时,打开目标文件,发现已有数据写入,即时交互效果达成