package com.sinosuperman;public class TestQuestion {static Shared shared = new Shared("michael", "guangzhou");public static void main(String[] args) {A a = new A();B b = new B();System.out.print(shared.getName() + ", ");for (int i = 0; i < 20; ++i) {a.run();System.out.print(shared.getName() + ", ");b.run();System.out.println(shared.getName());}}public static class A extends Thread {public void run() {synchronized (shared) {shared.setName("corleone");}}}public static class B extends Thread {public void run() {synchronized (shared) {shared.setName("chao");}}}public static class Shared {String name;String addr;public Shared(String name, String addr) { this.name = name; this.addr = addr; }public String getName() { return this.name; }public String getAddr() { return this.addr; }public void setName(String name) { this.name = name; }public void setAddr(String addr) { this.addr = addr; }}}