//What will happen when you attempt to compile and run the following code?
public class TestThread extends Thread {
public static void main(String[] args) {
new TestThread().start();
new TestThread().start();
}
public void run() {
Safe s1 = new Safe("abc");
Safe s2 = new Safe("xyz");
}
}
class Safe {
String str;
public synchronized Safe(String s) {
str = s;
str = str.toUpperCase();
System.out.print(str + " ");
}
}
爲什麼這個方法公開同步安全(字符串S)給我一個編譯錯誤?我知道我們不能同步變量,但是上面的代碼有什麼問題?!?!爲什麼這種同步方法給我一個錯誤?
你期望它做什麼?在構建完成之前,您無法共享對象。 – 2015-01-20 22:24:40