【发布时间】:2016-12-08 22:08:51
【问题描述】:
我有一个 SinglePDFPage 对象数组,它们只是包装器对象,每个对象都包含一个 WritableImage 对象。
在子线程内的循环中填充它时,我仍然可以访问线程外的数组。字面上同时。我正在渲染每个包含一个 PDF 页面的 WritableImage 对象。每次大约需要半秒钟。
在填充该数组时,我可以访问它并在子线程循环到达之前预渲染某个页面。
我已经阅读了volatile 关键字和同步集合;如果您有不同线程访问的对象,我认为这是必需的。我认为通常将对象写入线程存储?如果是这样,为什么我可以在没有任何锁定或同步的情况下访问它们?
所描述的模式是“线程安全的”吗?
【问题讨论】:
标签: java arrays multithreading