Java BitSet get() 方法是只读的吗?

Is Java BitSet get() method read only?

我有创建大小为 N 位集的数组的代码。在开始执行的时候,我做了一些计算,然后设置相应数组索引中的位作为过滤过程。例如,如果我得到数字 10 和位置 100,我会检查索引 10 的位置 100 是否设置为 true。

稍后在执行过程中,我使用多个线程对数组中的特定索引调用 get(bitNum)。存在多个线程访问数组中相同索引的可能性,但是不会以任何方式修改 BitSet。这些操作线程安全吗?

我查看了 BitSet 的文档,它指出:如果没有外部同步,BitSet 对于多线程使用是不安全的。但是,在某些 SO 线程上,它表明它们对于只读操作是线程安全的。 get() 是否被视为只读操作?

谢谢!

如果您可以确保在写入数组期间没有其他线程正在访问读取,那么它是安全的。

我认为并发阅读应该不是问题。