私はJavaのセマフォーに入っていて、この記事http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Semaphore.htmlを読んでいました。私が得ることができない唯一の理由は、acquire()メソッドが同期化されたコンテキストで使用されない理由です。上記のwebisteからの例を見てみると:セマフォのacquire()メソッドを同期させる必要がないのはなぜですか?
彼らは、セマフォ作成:
private Semaphore semaphore = new Semaphore(100);
をし、ちょうどこのような許可証を取得:それは可能であることではないでしょう、今
semaphore.acquire();
を2または複数のスレッドが同時に()を取得しようとしていますか?もしそうなら、カウントに少し問題があります。
または、セマフォ自体が同期を処理していますか?