日期:2014-05-20  浏览次数:20767 次

写出如下代码的运行结果
Java code
public class T {
  public static synchronized void main(String[] a) {
    Thread t = new Thread() {
      @Override
      public void run() {
        t();
      }
    };
    t.run();
    System.out.print(1);
  }

  static synchronized void t() {
    System.out.print(2);
  }
}



------解决方案--------------------
21

------解决方案--------------------
21
[color=#FFFFFF]………………………………[/color]
------解决方案--------------------
21你是直接调用run,又不是多线程运行的,肯定按照顺序执行啊
------解决方案--------------------
21
------解决方案--------------------
21
------解决方案--------------------
21
下面的程序全部是由同步化(synchronized)的静态方法组成的。那么它会打印出什么呢?在你每次运行这段程序的时候,它都能保证会打印出相同的内容吗?
Java code
public class T {
    public static synchronized void main(String[] a){
        Thread t = new Thread(){
            public void run(){
                t();
            }
        };
        t.run();
        System.out.print(1);
    }

    static synchronized void t() {
        System.out.print(2);
    }

}

------解决方案--------------------
21
------解决方案--------------------
21
------解决方案--------------------
没得说了21
------解决方案--------------------
21
------解决方案--------------------
探讨
21

------解决方案--------------------
探讨
21
下面的程序全部是由同步化(synchronized)的静态方法组成的。那么它会打印出什么呢?在你每次运行这段程序的时候,它都能保证会打印出相同的内容吗?

Java codepublic class T {
public static synchronized void main(String[] a){
Thread t = new Thread(){
public void run(){
t();
}
};
t.run();
System.out.print(1);


------解决方案--------------------
21
------解决方案--------------------
没得说了...标准答案都出来了...
------解决方案--------------------
http://hi.baidu.com/johnsoncr/blog/item/71b93b012af6c700738da5c2.html

------解决方案--------------------
不懂线程,俺只看到了调用。
------解决方案--------------------
21


...
------解决方案--------------------
21
------解决方案--------------------
21
------解决方案--------------------
探讨
21
下面的程序全部是由同步化(synchronized)的静态方法组成的。那么它会打印出什么呢?在你每次运行这段程序的时候,它都能保证会打印出相同的内容吗?
Java codepublicclassT {publicstaticsynchronizedvoidmain(String[] a){
Thread t=newThread(){publicvoidrun(){
t();
}
};