爲什麼這封信的答案是b? (下面的問題和答案) 我明白7a 7b 8a 8b,因爲該方法是同步的,因此一次只能執行一個線程,但爲什麼6a 7a 6b 7b也可以接受?第二個線程不應該等待第一個線程完成該方法嗎?兩個線程一個同步方法scjp
public class Lockdown implements Runnable {
public static void main(String[] args) {
new Thread(new Lockdown()).start();
new Thread(new Lockdown()).start();
}
public void run() { locked(Thread.currentThread().getId()); }
synchronized void locked(long id) {
System.out.print(id + "a ");
System.out.print(id + "b ");
}
}
b)設置7A 7B圖8a 8b和設置6A 7A 6B 7b是兩個可能的。 (*)
如果這個問題來自互聯網,它可能有錯誤的「正確的」答案... – John
@John這是來自SCJP考試http://education.oracle.com/pls/web_prod-plq-dad/db_pages。 GETPAGE?PAGE_ID = 303&p_certName = SQ1Z0-851 – mel3kings