我使用文件作为大数据的缓存.一个线程按顺序写入,另一个线程按顺序读取它.
我是否可以确定write()在一个线程中写入的所有数据都可以read()来自另一个线程,假设在Java内存模型方面存在适当的"事先发生"关系?这种行为是否有记录?
在我的JDK中,FileOutputStream不覆盖flush(),并且OutputStream.flush()为空.这就是我想知道的原因......
有问题的流程完全由我完全控制的类所有.保证每个流只能由一个线程访问.我的测试显示它按预期工作,但我仍然想知道这是否有保证和记录.
另见此相关讨论.