增加一种类型的观察者,并把通知改为异步。
Topic source参考了大神的答案,但一直没试出来?
所以改了下:
public void addNewProduct(String name, double price) { Product p = new Product(name, price);
products.put(p.getName(), p); observers.forEach(o -> new Thread(()->o.onPublished(p)).start());
}
public void setProductPrice(String name, double price) { Product p = products.get(name); p.setPrice(price);
observers.forEach(o ->new Thread(()->o.onPriceChanged(p)).start()); }
public void addNewProduct(String name, double price) { Product p = new Product(name, price);
products.put(p.getName(), p); observers.forEach(o -> new Thread(()->o.onPublished(p)).start());
}
public void setProductPrice(String name, double price) { Product p = products.get(name); p.setPrice(price);
observers.forEach(o ->new Thread(()->o.onPriceChanged(p)).start());
- 1
SNH48-刘慈欣