我期待到Spliterator的文件,並根據它的Spliterator是不是線程安全的:Spliterator:線程安全與否?
儘管在並行算法的明顯的效用,spliterators預計不會是線程安全的;相反,使用分割器的並行算法的實現應該確保分割器一次只能由一個線程使用。這通常很容易通過串行線程約束來實現,這通常是通過遞歸分解工作的典型並行算法的自然結果。
但是,其進一步的文件,其中規定一個矛盾的聲明,上述聲明:
可以通過以下方式來管理源(按遞減可取的大致順序)的結構干擾:
源管理併發修改。 例如,java.util.concurrent.ConcurrentHashMap的鍵集是一個併發源。從源頭創建的Spliterator報告了CONCURRENT的特徵。
那麼這是否意味着從線程安全集合生成的Spliterator將是線程安全的?這樣對嗎?
我在這兩個語句中看不出矛盾:'Spliterator'不是線程安全的,但它可以是線程安全的。如果它是線程安全的,它可能會報告它具有'CONCURRENT'特性。 –