2011-09-23 14 views
8

オブジェクト・インスタンスの同期に同期化ブロックを使用すると、スレッドは競合してオブジェクトの暗黙のモニターに入る。そして、いったん特定のスレッドがモニタに入ると、他のスレッドはそのスレッドに入るのを待たなければなりません。次にオブジェクトの同期化

synchronized(object){ 
    // some code here 
    // no function call 
} 

は特定の種類のオブジェクトを強制してはなりません。したがって、すべてのオブジェクトに暗黙的な監視があるため、ここでは任意のオブジェクト型を使用できます。

本当に返信しますか?

+6

礼儀正しく、礼儀正しく! –

+0

@ジョシュ:実際には、「尊重されたプログラマー」という言葉を使うことは、私たちの中には*(アサーションはもちろん、真実ではない)ということを意味しています。 – MusiGenesis

+3

皆が挨拶していることを理解するのに賢明な人は、もう一度挨拶する必要があります。 ありがとうございましたPordon Sir、すべての人に敬意を表します。 そしてMusiGenesisは、敬意を表する価値があると考えている人は誰もが尊敬します。 私の尊敬が彼らのために意味されていると思った人は、喜んで と他............ – user961690

答えて

9

はい、すべてのJavaオブジェクトはモニターとして動作できます。

そしてこれは、ボーナスのために、これは面白い読み取り、そのような短い答えはされているため:Does the JVM create a mutex for every object in order to implement the 'synchronized' keyword? If not, how?

はまた、C#は、そのオブジェクトと似た何かをすることに注意してくださいしかしもモニターされない値の型を(持っています)

+0

本当にありがとうございました – user961690

+7

私は "親愛なる"が大好き!私のおばあちゃんがStackOverflowに投稿していたように... –

+0

"愛する"とはどういう意味ですか? –

5

変数がnullの場合、ロックすることはできません。また、Integerなどのオブジェクトはオブジェクトですが、intまたはfloatではなく、です。 Integerまたはint[]をロックできますが、intはロックできません。

+1

大変ありがとう – user961690