定义:
对象间有一对多的关系,当其中被观察对象状态改变,观察者都得到通知并自动更新
这个模式也比较简单,java已经实现了相应的定义。abserver abservable两个接口。实现相应接口,调用observable对象的:notifyObservers方法即可。
看了下原码,有大量syhronized修饰,方法和this皆有,趁机回想一下syhronized用法:
方法块,方法,静态方法。
其中,修饰(this)与修饰普通方法作用相同,同为对象锁。一个对象只有一把锁,如果持有10个修饰的方法,10个线程同时调用,同一时间只有一个线程能调用其中一个方法。
修饰 static 变量和方法,则是类锁(请联系java内存模型),所有对象共享同一把锁。