2015-06-09 44 views
-3
public class Messager implements Runnable { 
     public static void main(String[] args) { 
     new Thread(new Messager("Wallace")).start(); 
     new Thread(new Messager("Gromit")).start(); 
    } 
    private String name; 
    public Messager(String name) { this.name = name; } 
    public void run() { 
     message(1); 
     message(2); 
    } 
    private synchronized void message(int n) { 
     System.out.print(name + "-" + n + " "); 
    } 
    } 

是:B.華萊士-1狗寶貝-2-華萊士-2-狗寶貝-1 此代碼的執行的一個可能的結果?可能的執行結果

+0

你只是期待一個是或否的答案?爲什麼你對輸出有懷疑? –

+0

@SotiriosDelimanolis:是的,你能回答嗎?我的猜測是否定的。 – user199

+0

你爲什麼猜不到?在你的帖子中解釋一下。 –

回答

1

不,這不是一個可能的結果。

message(1)message(2)按順序執行。因此,Gromit-1必須後跟Gromit-2