我想知道在访问一个具有多个线程但只能读取或仅写入的数组时是否会出现任何问题。
当线程写入数组时,它们写入的顺序无关紧要,即使它们写入同一个条目,所有线程也会写入相同的值。
例如,如果我想通过 Eratosthenes 筛找到素数:我创建一个连续数字数组,并使用多个线程将所有素数的倍数设置为 0。
删除 2 的倍数的线程和删除 5 的倍数的线程是否同时将数字 20 的条目设置为 0 或一个在另一个之前或之后都没有关系。
因此,这不是数据的质量或一致性的问题,而是在不面临任何 java 错误的情况下执行此操作的技术可能性。