5

「Java Concurrency CookBook」を読んでいました。その著者は、 Lock インターフェイスを使用すると、キーワードを使用するよりもパフォーマンスが向上すると述べていsynchronizedます。スタック フレーム、またはメソッド呼び出しの数などの用語を使用します。気にしないでください。Java の同時実行の概念を取り除くのを手伝ってください。

4

2 に答える 2

2

and friendsの存在理由は、Lock本質的に よりも高速であるということではありませんsynchronized()。それは、レキシカル ブロック構造に必ずしも対応しないさまざまな方法で使用できること、および次のようなより多くの機能を提供できることです。読み書きロック、セマフォのカウントなど。

特定のLock 実装が実際よりも高速であるかどうかsynchronizedは、議論の余地があり、実装に依存します。Javadoc には確かにそのような主張はありません。すべてが始まった Doug Leas の本 [1] は、「しばしばより良いパフォーマンスで」よりもすぐに強くなることがわかるとは主張していません。

[1]: Lea、Java での並行プログラミング、第 2 版、Addison Wesley 2000。

于 2013-09-17T08:03:49.390 に答える