Java BitSet get()方法是只读的吗?
我有一段代码,它创建了一个大小为N位集的数组。在执行开始时,我进行一些计算,然后将相应数组索引中的位设置为过滤过程。例如,如果给定数字10和位置100,我将检查索引10的位置100是否设置为true 在稍后的执行中,我使用多个线程对数组中的特定索引调用get(bitNum)。可能有多个线程访问数组中的同一索引,但是不会以任何方式修改位集。这些操作是线程安全的吗 我查看了有关位集的文档,其中指出:如果没有外部同步,位集对于多线程使用是不安全的。然而,在一些SO线程上,这表明它们对于只读操作是线程安全的。get()是否被视为只读操作Java BitSet get()方法是只读的吗?,java,multithreading,thread-safety,bitset,Java,Multithreading,Thread Safety,Bitset,我有一段代码,它创建了一个大小为N位集的数组。在执行开始时,我进行一些计算,然后将相应数组索引中的位设置为过滤过程。例如,如果给定数字10和位置100,我将检查索引10的位置100是否设置为true 在稍后的执行中,我使用多个线程对数组中的特定索引调用get(bitNum)。可能有多个线程访问数组中的同一索引,但是不会以任何方式修改位集。这些操作是线程安全的吗 我查看了有关位集的文档,其中指出:如果没有外部同步,位集对于多线程使用是不安全的。然而,在一些SO线程上,这表明它们对于只读操作是线程安
谢谢 如果您可以确保在写入数组期间没有其他线程正在访问以进行读取,那么它是安全的 在我看来,同时阅读不应该是一个问题