javadocを正しく解釈しているかどうかはわかりません。 lock
メソッドを呼び出して正常にロックを取得した後にReentrantLock
を使用すると、同期ブロックのないオブジェクトにアクセスでき、happend-before関係が魔法の勢いで実行されますか?Javaロックとhappend-beforeの関係
私はReentrantLock
と私が作業しているオブジェクトとの間に接続がないので、私が安全に作業できるとは考えにくいです。しかし、これが当てはまるか、javadocを間違って読んでいますか?
ええ、私は彼らが排他的に実行されていることを理解しますが、私の質問は同じ状態が別のスレッドから見える場合を目指していました。 –
あなたが話しているのは、どのスレッドがどのスレッドでどのように変数をキャッシュするかです。ロックの使用(または 'synchronized'キーワードの使用)は、同期を保証します。 [これは質問です](http://stackoverflow.com/questions/5022100/when-does-java-thread-cache-refresh-happens)私はより完全にあなたの質問に答えると思います。特にJLSの17.1項 –