When used with a code block, synchronized must be applied to an object. : Synchronize « Thread « SCJP






public class MainClass {
  public static void main(String[] argv) {

  }

  public void m() {
    synchronized (this) {
      System.out.println("synchronized");
    }
  }

}








7.9.Synchronize
7.9.1.synchronized code
7.9.2.Synchronize an entire method by putting the synchronized modifier in the method's declaration.
7.9.3.Synchronizing Part of a Method
7.9.4.An example for deadlock
7.9.5.To synchronize part of a method preceded by synchronized(this).
7.9.6.When used with a code block, synchronized must be applied to an object.