問題タブ [synchronized-block]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
134 参照

java - 同期メソッドとブロックの動作が異なる

同期メソッドまたは同期ブロックを使用して異なる結果が生成されるシナリオを観察しました。以下のコードから:

Caller::run メソッドで同期ブロックを使用すると、出力は次のように同期されます。

しかし、同期ブロックの代わりに Callme::call メソッドに同期メソッドを使用すると、出力が同期されません。

私の期待は、「Callme::call」メソッドを呼び出すときに異なるオブジェクトを使用しているため、両方のケースで出力が同期されるべきではないということです

これにより、同期ブロックの概念についての私の理解に疑問が生じましたか?

0 投票する
1 に答える
41 参照

java - 同期で奇妙なことが起こる(Test2.class)

上記は私が試したコードです。同期された1つのクラス(Test2.class)にすべてのコードを記述したところ、奇妙なことが起こりました。foo()メソッドを呼び出した後、すぐにbar()メソッドを呼び出すことができません。同じオブジェクトをロックしていると思います。この奇妙なことを説明する方法。