私はスレッドを保持しています(ConcurrentHashMapのの値の追加、削除、変更)。新しいスレッドは、共有オブジェクトに対する他のすべてのスレッドの以前のアクションの完全なメモリ可視性を持っていますか?
私はソケットに耳を傾け、時折新しいクライアント接続を処理するためにスレッドCを作成するスレッドBを持っています。
すべてのスレッドCのは今までのスレッドによって維持のConcurrentHashMap(それを更新したことがない)から読み込まれます。
はスレッドBによって開始/スレッドC作成される前に、CはConcurrentHashMapの上スレッドによって実行されたすべての更新を、見ることが保証スレッドですか?
(質問より明確にするために最後の文を編集:。ConcurrentHashMapの最新情報についてのみ関心を)
はい、Java Memory Model *(q.v。)*の発生前の条項に従います。基本的には、すべてのアクセスが 'synchronized'または' java.util.concurrent'に相当するものであることを確認する必要があります。 – EJP