:Spliterator:スレッドセーフかどうか私はSpliteratorの文書の中に探していますし、それに応じて、Spliteratorはスレッドセーフではありません
並列アルゴリズムにおける彼らの明白な有用性にもかかわらず、spliteratorsは、スレッドセーフであることが予想されていません。その代わりに、スプライテータを使用する並列アルゴリズムの実装は、スプライテータが一度に1つのスレッドのみによって確実に使用されるようにする必要があります。これは、一般的に、直列スレッド制限を介して達成することは容易であり、しばしば再帰的分解によって動作する典型的な並列アルゴリズムの自然な結果である。
しかし、上記の文に矛盾ステートメントを述べてそのさらなるドキュメントに:
源の構造的干渉は、(望ましさを減少させるのおおよその順序で)次の方法で管理することができます。
ソースは、同時変更を管理します。 たとえば、java.util.concurrent.ConcurrentHashMapのキーセットは、並行ソースです。ソースから作成されたSpliteratorは、CONCURRENTの特性を報告します。
これは、スレッドセーフなコレクションから生成されたSpliteratorはスレッドセーフであることを意味しますか?そうですか?
「Spliterator」はスレッドセーフである必要はありませんが、スレッドセーフである可能性があります。スレッドセーフであれば、 'CONCURRENT'特性を持っていると報告するかもしれません。 –