问题描述 今天遇见一个问题:多线程交互的时候用文件作为交互渠道 A写入文件B在A线程完成后进行文件的读操作,发现刚刚写入的数据信息为空 问题定位 文件流的速度很慢,需要等一个固定的时间或者满才刷缓冲区。 缓冲区的数据并不是实时刷入磁盘的,需要等待一段时间或者缓冲区满、流被close才写入磁盘。 而其他的线程去读取文件,缓冲区里面缓存的数据是读不到的。 解决方案: flash()手动刷流不要用文件作为交互工具,这是很不正规的行为,有享元模式可以实现线程间的信息交互。有数据库等工具