unixのC++言語のロック機能でセマフォって知っていますか?
ロック情報で、インクリメントでロック、デクリメントでアンロック。

ロック: lock++;
アンロック:lock--;

これは違うクラスのメソッド内でも変数にアクセスできれば1メソッド内でなくても、ロックアンロックできます。

javaの場合は、synchronized { }ブロック内でしかできないので、1クラス内でしかロックアンロックできないと認識していますが、
何か別な方法はあるでしょうか