Java本格入門 Chapter11 スレッドセーフをたしなむ の一部をJavaで実装。
Java本格入門 Chapter11 スレッドセーフをたしなむ の 11-2-3(1)異なるクラスのsynchronizedメソッドは、同期しない。を実装。       書籍の簡略コードではいまいち刺さらなかったので。   実装の参照元ネタ こちらのサイト様のコードを写経させていただきました。  abcdefg..... : Javaでsynchronizedの排他制御を試す   ファイル一覧 MyMain.java   実装  MyMain.java  public class MyMain {  public static void main(String[] args) {   MyMain aaa = new MyMain();   aaa.test27();   System.out.println("★★★★★");  }   // マルチスレッドでのsyncronized範囲確認  private void test27() {   final class AAA {    public synchronized void func3() throws InterruptedException {     System.out.println(Thread.currentThread().getName() + " : ★ start");     Thread.sleep(2000);     System.out.println(Thread.currentThread().getName() + " : ★ end");    }     public synchronized void func4() throws InterruptedException {     System.out.println(Thread.currentThread().getName() + " : ○ start");     Thread.sleep(2000);     System.out.println(Thread.currentThread().getName() + " : ○ end");    }   }    final class BBB ...