2011-08-15 10 views
6

C#では、lockキーワードは、try/catchブロックとMonitorのインスタンスのための素晴らしい構文です。同期されたjavaキーワードはどのように実装されていますか?

Javaでは、どの同期クラスが​​キーワードのフードに使用されていますか?

編集 - 私はさらにいくつかのポンキングを行いました。同期化されたものがmonitorenter/monitorexitバイトコードオペレーションにコンパイルされるようです。これらのセマンティクスを複製したクラスはありますか?

答えて

4

クラスは使用されていません。これは、JVMによって処理される言語構成です。

しかし、Java 5では、Lockインターフェイスとその複数の実装を持つjava.util.concurrent.locksが導入されました。サンプルの使用方法についてはリンク先のドキュメントを参照してください。

+2

私はもう少し掘り下げました - それはmonitorenter/monitorexitバイトコードオペレーションにコンパイルされるようです –

2

キーワード​​は、変更するエンティティをJVM内部のロックと同期させます。私が思い出す限り、それのための設計されたクラスはなく、必ずしも特定のOS構成に対応するとは限りません。

しかし、ロック機構のbytecode constructがあり、同期化された{}ブロックの入退出に使用されます。

関連する問題