Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java BitSet get()方法是只读的吗?_Java_Multithreading_Thread Safety_Bitset - Fatal编程技术网

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

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

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

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

我查看了有关位集的文档,其中指出:如果没有外部同步,位集对于多线程使用是不安全的。然而,在一些SO线程上,这表明它们对于只读操作是线程安全的。get()是否被视为只读操作


谢谢

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

在我看来,同时阅读不应该是一个问题