00:00
好,下面呢,我们讲一下3.4监听器的一个原理,这个呢属于面试的一个重点啊,面试的时候容易问你这个。因为它最主要的作用就是这种监听嘛,啊观察者模式。好,来看一下。原理详解,首先呢,要有一个内线程。没现成应该没问题吧,啊,就是没方法,相当于程序的一个入口啊来到这儿。没见着。在这个main线程当中,创建一个ZK。口的。之前我们创过ETF客端,还创建了什么?还上那个job吧,是吧,啊等等哈这些。购单,这时就会创建两个线程。一个负责网络连接。一个负责。来创建两个进程,一个是监听的,一个是网络连接的。通过线程将注册的监听事件发给主people。
01:03
啊,相当于发给服务器。比如说,比如说他要监听的是这个路径。路径嘛,啊,那这个处呢,表示是开启监听啊,要是放的话就不开启监听。后面的话我们写这个API。在主题班注册监听列表中,将注册的监听事件添加到这个列表里面去。这个还记得是的时候把什么发过去了吗?是把自己的功效发过去,还记得吧,是不是也发到一个注册列表啊。舌是吧,啊,一样的道理哈,也是,哎,我要坚定这个我就告诉你,你给我放在这里面。那会的事简单了。主配包监定到所有的数据。和路径变化,就会将这个消息发送给雷。只要哎,他发现他监听这个世界,这是路径。里面发生了变化。那我就告诉这个。
02:02
客户端啊。告的谁来接收呢?啊,有专门的这个通信通道。接触到他之后,这个,呃,这个listen的线程呢,就会调用相应的业务处理的。那这个方法呢,就是我们自己程序员要写的。说这个事件,一旦有事情发生。怎么做?啊,这个事情,所以说那就是这边任何的风吹草动,我都可以通过它来得到,得到之后有相应的处理。这就是最简单的一个。监听原理。啊,非常简单哈啊。常见的监听,监听节点数据的变化。还有一个间经节点数的一个变化。能理解吗?一个是这个节点上的数据变化,一个是这个节点的路径的一个变化,是否有子节点的增删啊。
03:03
我们再回顾一下啊。这个是一个面试的重点。首先有一个线程,就是客户端的线程。没方法。之后呢?在这个线程当中,我们会创建一个客户端对象啊。主要是用来访问这个server服务器。那这时呢,就会创建两个线程。一个呢,是正常的业务的通讯。一个是复制监听的。一个是监听,一个是业务通信。那这个connect线程呢?将注射的监听事件发给主题包啊?你要监听谁,你就告诉他。那么这个服务器呢,接收到这个呃事件之后,他就会将要监听的内容添加到他自己的列表里面去,这里面会放着N多个。但是一旦有一个满足要求。比如说这个路径数据发生变化了,你。监听的就是容径变化,那你就要回调告诉这个。
04:03
客户端。有事情发生了,你要来处理。他就能收到这个。形的变化。收到之后,那么他在这里面进行相应的一个。那么常见的监听呢,主要这么两类,一类呢是数据的变化,一类呢是这个节点上的一个。呃,接待数的一个电话。后面的这个针对这个监听,我们有真正的这个API的代码操作啊。操作是有的。你看过一个之后,你再回来,回过头来理解它,就会非常的轻松啊。
我来说两句