00:00
啊,接下来呢,我们来看第六个内容,那么第六个锁呀,那么咱以前在里面有那个B锁,就那个可能垃。那么在我们的K里面呢,是没有这个东西的啊,但是有一个类似东西讲的叫共享计数器,共享计数器,那共享计数器啊,Cur给我们提供了两个共享计数器,那么一个是share,呃,Count这么一个玩意,那么然后呢,还有一个呢是ribu的。Built,原来是ought to make number这么一个玩意儿。当然的话呢,它呢其实是一个接口啊,里面呢有两个实现,那么一个呢,是啊BOT的autom make long,那么以及呢,还有一个呢,是autom make in啊当然它除了数据类型不一样之外,那么基本使用方式呢,都是一样的啊他们俩哈。
01:03
那么首先呢,我们来去看一下这个先count,那么先count怎么去玩呢?好,我们也可以去写一个案例来演示一下,那么首先呢,在我们的这个CTRL里面啊,咱们可以定义一个方法,来一个get making,好,那我们这里呢,来一个test share count这样的一个路径,好,那我们这个方法呀,咱可以去稍微copy贝一下啊,给它拷贝到下面去啊,方法名呢,咱们改一下,改成share count。先count,那么然后呢,咱们这个设备的方法呀,也是一样,那我们这下是测试的是计数器啊,共享计数器,共享计数器,那么什么是共享计数器呢?共享计数器顾名思义,咱们可以在呃多个服务器之间来去共享我们某一个通用的技术。啊,通用的技术啊技术,那么然后我们这的话呢,来去呃,创建咱们对应的这个思维的方法。
02:03
好,那我们来去写成这样的一个东西啊,那么首先我们要初始化一个共享计数器。那么怎么出始话呢?咱可以去利用一个,嗯,是share count,那么这里面的构造方法呀,也跟之前也是差不多的啊,我们需要去设置咱们的客户端,那么还要去设置我们的路径啊,路径的话是还是key啊,那么然呢是些呃,就先count吧这么一个路径。那么然后最后一个参数呢,那是我们的。按什么东西呢,咱可以进去看一下啊,看他有没有说明。啊,这个C的value就是初始值,就以这个共享技术的一个初始值。那么你可以呢,去指定一下,那比如说呢,我要指定一个初始值,那么是100,好,指定好之后呀,我们最终返回的那么是一个she count。那么这个先count啊,你初始化好之后呀,必须得要调用它里面的这样的一个方法啊,它里面有一个叫它的方法。
03:06
啊,如果你不去死他的话,它里面的某些功能呢,是无法使用的,是不健全的,所以呢,一定要去他去启动一下。好,那么其中话之后这里有异常对吧,我们可以呢,来一个呃,吹开把它给包起来哈,那么然后呢,这个异常啊,我们使用这个最大异常啊,没啥问题哈。那么在这个里面,哎,我们就可以去共享基数了,那比如说呢,我可以去呃获取一下,哎,它现在基数是多少,来一个啊先看的点上它里面有什么方法呢?有get方法。那先去获取一下,现在这个共享计数器的值是多少?那么然后呢,我也可以去通过set方法来去设置咱共享计数器的一个值是多少,这设置为多少。那比如说呢,我们可以来一个count。先去获取下这个初始值多少啊啊,这个呢,看的是初始值,那获取初始值之后呢,我们再去生成一个随机值,你有一个啊random点上点上next in,比如我生成一个1000以内的一个随机值。
04:11
啊,最终呢,返回的一个啊random,然后呢,我再给它啊设置为设置为这个呃,随机值啊来一个she count点,然后set count,然后是random的设置进去,那最终呢,我来去输出一下啊。那啊,我嗯,或者说共享计数器的初始值,咱们可以去打印一下是多少,是这个count。啊,那么然后呢,我们再去加上,然后呢,我们后来给他改了这个值,给它改了哈,那么现在呢,嗯,我改成了改成了啊多少,那你可以加上咱们这个run改成多少。好,那么咱这样的话呢,咱们这个方法呀,就玩好了,那玩好之后呢,我们来去重新启动一下咱们这一个东西,好来重新启动这两个服务啊。
05:09
那我现在呢,咱们共享技术呀,就可以在这两个服务之间来共享咱们这个共享技术的值了,那比如说我在这个服务器里面把它值改成另外一个值了。那么在这台服务器里面,我就可以获取,你改成那个值,你改成多少值,我可以获取到。然后呢,我也可以把它改成另外一个值对吧,这样子那两台服务器之间呢,可以共享这个计数器啊。好,那我们来去重新启动啊,启动好之后呀,我们来去把它给清空掉,我们来去看最终的效果啊,这个清空掉不要干扰我们啊,好,我们来去,呃,访问咱们这个share count这个路径。啊,在这里呢啊,访问这个路径,给它放在我们的这个路径的后面去,好我们一会说。呃,此时呢,我们,呃,这个数值啊是100,我都改成436了,改成436之后啊,是这台服务器改的,那这台服务器知不知道呢。
06:05
他能不能拿到这个改后的这个值呢,来再去刷新一下,那么此时他访问的诶还是第一台服务器。然后436,然后改成又改成三了,我们可以去。我们可以呢,再去刷新,那么来看这个最终效果,你看这个三你看这个。10086这台服务器啊,它已经拿到你之前改成了这个三这个值了啊,拿到这个值了,初始值了,你之前改成三了呀,我拿到这个三了,然重新改成268了,改成268之后呢,我又去呃刷新,那么此时10010又到哪台服务器,又到这个10086服务器上去了啊,然后又拿初始值和改后的这个值啊。那我们再来去啊刷新,那么此时呢,到了10010单元服务器,那拿到你之前改的那个值,你直接改成74的,我这里可以拿到,拿到之后呢,改成新的值。你两台服务器之间呢,可以共享我们的状态,它可以交流咱们这个纸对吧,可以交流,可以共享,可以交互。
07:05
好,咱们这个共享计数器的一个价值啊。那么先从共享计数器啊,也可以达到那个,达到我们之前那个,嗯,那个康当当垃圾的那个效果啊。啊,只是呢,我们可能需要手动的进行减一对不对,这样的啊啊稍微呢完麻烦一点,但是能够做到之前的一个效果的啊。啊,咱们这样的一个东西。好,那么这个啊,这个玩意啊,先抗这东西呢。啊,咱应该已经都会了,对吧?啊,就这样去玩一下就可以了啊啊当然了,先count呢,还有另外一个方法啊,就是咱们这个ad listen这个方法。哎,我们我们还可以给它去添加监听器啊,将来一旦它值发生变化了,我可以在监听器里面时刻监听到它的值的变化。那么这种玩法的话呢,我们就不去演示了啊OK,因为这个东西呢,说实话啊,呃,用的没有那么多。
08:00
啊,没有那么多,因为另外一个啊,另外一个类啊,功能更加强大啊,更加灵活,就咱们这个DBOT的奥米ne那个玩意。那么这个玩意啊,咱们可以去看一下啊,呃,咱们可以在这个ID里面可以搜一下啊,它是个什么东西啊,你看咱们是可以搜到的啊,就是Q给我们提供的啊。那么这个number是什么东西呢?是一个接口。现在它需要有具体实现,那么具体实现啊,其实就是咱们这两个实现啊,一个是抵垂beauty beauty autotomic in,那么还有一个呢,是抵垂beauty的奥米克long。但它里面的方法呢,都是类似的啊,只是呢,呃,数据的长度不一样,它可以接受一个long类型数据,那它可以接受一个类的数据。那么当然了,它的应用范围呢,数据数量范围呢,就会更广一点。那我们呢,用它可以实现的,用它不一不一定能够实现,那用阴定可以实现的,用浪一定可以实现,哎,所以的话呢,这个浪的话呢,会更加通用一点啊。
09:04
好,那咱就以浪的啊为例,来去看一下它里面都有什么方法。哎,它里面的方法呢,会更加的广泛一点啊。你看它这呢,也有这个构造法,那么你也可以给这构当法呀,来去啊,指定这个客户端,那么指定咱们这个基础路径,还可以指定这个从事规则啊等等等,那它里面呢,呃,也也有什么东西呢,也有我们的这个set这个方法啊,类似于我们之前那个。之前这个set count这个方法和这个get count这个方法啊,对应的方法类似于他们那玩法呢,以及最终效果都是类似的,你看trans可以设置,设置一个新的词。那么然后呢,通过阴历线,你可以设置一个初始值。那我们还可以通过钙的方法来去获取这个,获取它的这个,它的这个之前的那个值啊,钙的方法。
10:00
啊,非常好用,你看get trans,包括这个阴力写方法,阴力写方法啊,你可以指定初始值。那么它除了这些方法之外,那么又给他扩展那些方法呢?又给他扩展了,呃,除了拆赛,你还有什么false set在强制设置生某一个值。啊,有的时候你可能会设置失败,对吧,你通过这个强制设置呀,它一定可以设置成功。OK,那么以及呢,它还有呢,还有这个呃,递减的方法,那么有递减的必然会有递增的方法啊,也有这个increment有decrement啊,递增课第一节。啊,那么如果我们用它来去实现那个,呃,倒计数器那个功能啊,就很简单了,就那个抗蜡器那个功能啊,啊就很容易了啊,咱就不需要呢,在外面计算好之后再设置进去,你直接在这里面去调啊in INC和decrement increment和rement就可以了。啊,就非常的方便,好,咱们占了一个东西啊,那么这个东西的话呢,其实呃,演示的话呢,我们就。
11:07
啊,就不演示了吧,对吧,那你们可以呢,自己自己试一下啊,玩法呢也是类似的。
我来说两句