通知調(diào)用順序問題.
? ?List<String> list =new ArrayList<String>();
? ?list.add("1");
? ?list.add("2");
? ?list.add("3");
? ?list.add("4");
? ?list.add("5");
? ?for(String str:list){
? System.out.println(str);
? ?}
運行結(jié)果為1 2 3 4 5?
如果目標接口使用List集合來存儲觀察者列表,然后在notify()方法中循環(huán)遍歷觀察者列表,并進行通知,那么通知的順序不就是注冊觀察者時的順序嗎?為什么老師說理論上不行.
2016-10-27
個人理解,是 這幾個觀察者之間沒有緊密的依賴關(guān)系!是平行的關(guān)系,或者是比較獨立的
2016-05-02
因為在Subject中提供了detach方法 ,如果把他從Subject的List中刪除掉再注冊的話順序就變了