public class SyncThread { StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer();

public static void main(String[] args)
{
new Thread(synchronized(){
sb1.append('a');
System.out.println(sb1);
synchronized(){
sb2.append('d');
System.out.println(sb2);
}

}).start();
new Thread(synchronized run(){
sb2.append('b');
System.out.println(sb2);
synchronized(){
sb1.append('c');
System.out.println(sb1);
}

}).start();
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【hellosun2000】截止到2008-07-10 09:09:22的历史汇总数据(不包括此帖):
    发帖的总数量:10                       发帖的总分数:240                      每贴平均分数:24                       
    回帖的总数量:9                        得分贴总数量:1                        回帖的得分率:11%                      
    结贴的总数量:9                        结贴的总分数:230                      
    无满意结贴数:1                        无满意结贴分:20                       
    未结的帖子数:1                        未结的总分数:10                       
    结贴的百分比:90.00 %               结分的百分比:95.83 %                  
    无满意结贴率:11.11 %               无满意结分率:8.70  %                  
    值得尊敬
      

  2.   

    建议楼主重写
    你写的乱七八糟的
    -------------------------------------------------------------
                Quietly through  .....
      

  3.   

    public class SyncThread {
        static StringBuffer sb1 = new StringBuffer();    static StringBuffer sb2 = new StringBuffer();    public static void main(String[] args) {
            new Thread() {
                public void run() {
                    synchronized (sb1) {
                        sb1.append('a');
                        System.out.println(sb1);
                    }
                    synchronized (sb2) {
                        sb2.append('d');
                        System.out.println(sb2);
                    }            }
            }.start();
            new Thread() {
                public void run() {
                    synchronized (sb2) {
                        sb2.append('b');
                        System.out.println(sb2);
                    }
                    synchronized (sb1) {
                        sb1.append('c');
                        System.out.println(sb1);
                    }            }
            }.start();
        }}
      

  4.   

    public class SyncThread { public static void main(String[] args) {
    final StringBuilder sb1 = new StringBuilder();
    final StringBuilder sb2 = new StringBuilder();
    new Thread(
    new Runnable() {
    public void run() {
    sb1.append('a');
    System.out.println(sb1);
    synchronized (sb2) {
    sb2.append('d');
    System.out.println(sb2);
    }
    }
    }
    ).start();
    new Thread(
    new Runnable() {
    public void run() {
    sb1.append('a');
    System.out.println(sb1);
    synchronized (sb2) {
    sb2.append('d');
    System.out.println(sb2);
    }
    }
    }
    ).start();
    }}你是这意思?