ThreadSafeとはどういう意味ですか?
以下は私の理解です:
私には似ています。複数のスレッドが同時にコレクションにアクセスできるようにする。これは同期とは関係ありません。たとえば、同期キーワードのないメソッド。スレッドセーフです。つまり、複数のスレッドがアクセスできます。
マルチスレッドがアクセスしている間にデータの整合性を維持するために、このメソッドでさらにロジック (同期) を維持するかどうかは、開発者の選択次第です。それはスレッドセーフとは別のものです。
私の上記の声明が間違っている場合; 以下の「ConcurrentHashMap」の Java DOC を読んでください。
keySet: ビューのイテレータは、ConcurrentModificationException を決してスローしない「弱い一貫性のある」イテレータであり、イテレータの構築時に存在していた要素をトラバースすることを保証し、構築後の変更を反映する可能性があります (ただし保証はされません)。
上記のステートメントは、keySet イテレーターがデータの整合性を保証しないことを示しています。マルチスレッドがコレクションを変更している間。
答えていただけますか、* ConcurrentHashMap の KeySet イテレータはスレッドセーフですか?
そして、スレッドセーフに関する私の理解は正しいですか??