四个exists()函数
- exists(String path, boolean watch)
- exists(String path, boolean watch, AsyncCallback.StateCallback cb, Object ctx)
- exists(String path, Watcher watcher)
- exists(String path, Watcher watcher, AsyncCallback.StateCallback cb, Object ctx)
基本上这四个函数可以分为:
是否采用缺省监控器 | 是否带异步回调 |
---|---|
是 | 否 |
是 | 是 |
否 | 否 |
否 | 是 |
理解缺省监控器
要进一步理解整个编程模型,就需要先理解什么是缺省监控器。一个ZooKeeper Session会带有一个缺省监控器,这个监控器有两种设置的方法
- 随构函数设置
- 使用注册函数设置
缺省监控器的调用
可以看出,exists()方法在watch设定为true时,将会调用缺省监控器。从这个角度来说,除非有很必要的原因,我觉得这种相对“方便”的方法还是少用为妙,尤其是在现在lambda表达式这么方便的时候。
理解回调
从上面的代码来看并没有看到太多关于callback回调的实现,只知道它被放入到一个队列里进行处理。更深入的代码实现先不要花时间去看,可以从另一个角度来查看相关的信息。
No comments:
Post a Comment