什么是单个流程中的历史记录队列 MT 可见性保证?



我的意思是当我写信给java.util.concurrent.LinkedBlockingQueue时,我有一个可见性保证发生在之前。放入队列的单个对象发生在从队列中拉取同一对象之前。 所以我可以在读取线程中假设,变量的任何其他状态都不比对象被放入LBQueue的时间早

。我们在编年史队列中是否有相同的可见性保证?

我们是否有任何使用方式(methodReader/writerwire().read().object()(相同的可见性保证?

事实上,你有同样(实际上,稍微强一点(的保证。每次写入历史记录队列(以任何样式(都会导致对内存映射文件的一系列易失性写入/读取,因此提供了内存屏障。

此外,每次写入都由写锁定保护,写锁定作为对存储在内存映射文件中的值的 CAS 驱动更新实现。

最新更新