00:00
不是啊,这个是它的一个接口啊,是它的一个接口,因为方法方法调用的方式,它必须里边这个方法不能有其他类似的重载的方法才可以啊,如果说你要有的话就不行,对吧,他用的是它这个接口更高层那个不是打错了,这是自动生成的,不是我敲的自动生成的,当然你要看不习惯,你用杰森箭头板去指向一下就好了啊好。那这个地方呢,我们做一个测试啊,做个测试,呃,首先呢,我们还是做单独的测试,也就是说开启一个生产者,开启一个消费者这个方式之后呢,再全部打开对吧?好,那我们先开启我们的这个。小生产者对吧。生产者,来啊来,往上。在这个地方对吧,还是手动,我们先开生产者做测试,CD Mo卡不卡。
01:03
哎,完了,呃,我们多粘了一点东西啊,应该粘到这。好,接下来呢,我们把这个拿过来,D配。啊,先打开身产证,然后呢开消费者啊,消费者呢,我们重新换一个名字了,或者他对吧,消费者这个往上去写好啊,那家来呢,我们单独做测试啊,我只是把它打开。只是把它打开。注意我刚才设置了延迟时间为两秒。大家记得吗?这。这个地方对不对,设置了延迟时间为两秒啊。对吧。为两秒的时间啊,大家不要忘了这个事情。
02:06
那这边呢,已经启动了,这个呢,关掉跟他没关系,对吧?啊启动了啊,然后接下来呢,我们去做测试啊去做测试好吧,来这个时候我们先这样啊,来测试代码。上一跳肯定要问那才可以啊,那我把这个数据拿过来。UV这个呢,是ug测试数据对吧,往这一放啊,往这一放好,那第一条数据呢,我们看到这样啊,它的时间是这个7万对吧,注意这个位置是秒啊,这个位置是秒啊啊那上一跳呢。Last page I这个地方怎么样?有吧,那我先把lastd给他干什么,给他干掉啊,不让他有last page ID啊,如果说有last page ID,那就不用聊了,对吧,好。来,看谁拿过来,拿过来。
03:03
呃,往那一放,那这条数据输进去,肯定不会有数据打印。对吧,肯定不会出来啊,肯定不会出来,因为只有一条不行,对吧,而且我们按照实践时间一个时间也没走对吧,也没走,所以呢,他肯定出不来,这个没关系,好那我这样啊来注意看我干什么事呢,来这个地方。我让他。七五。可以吧,加了五秒钟,我加了五秒钟,注意啊,我加了五秒钟,然后接下来呢,我把这条数据输进去,来大家说一下结果是什么样子。注意也是拉贝ID等于呢,我把这个输进去,大家说一下这边。有没有数据打印,一是有,二是没有,如果说啊,分别阐述原因。我把这条数据输进去。
04:07
打印第一条,也就打印这个7万这一条是吗。有没有持不同意见的?班长,班长,你觉得呢?班长也觉得打印第一条是吗?来?我输进去等着这边看。怎么样,没有数据?其实我既然这样问了,大家应该能猜到结果肯定是没有数据,那你要想为什么呢?我代码写错了吗?
05:03
我代码写错了吗?窗口没关。不是啊,这个跟窗口没关系的呀,我有两条数据啊,当你没有第二条数据才会用窗口吧。注意啊,跟窗口没关系,孙总。我有第二条,我第二条数据来了,如果说第二条数据一直不来,他跟窗口有关系,这个时候他走的是哪个逻辑啊。他不会走这个微的逻辑啊,他第一条第二条不都来了吗?对吧,那跟窗口有什么关系呢,孙总。不对,理由不对,在想。在想为什么?十秒跟十秒没关系。班长。跟十秒没关系。
06:02
我刚说了嘛,就是孙总说的,其实就是这个十秒跟十秒没关系,那这样啊,来我再搞一个。七九,我搞一个七九可以吧,看啊这是。最早的时候,哎,我把这个数据这样啊,我我都放一放,呃,最早呢是七零对吧,第一条数据我输的是它,第二条数据输的七五,第三条数据我输一个七九。我说一个七九来看啊C我拿过来。输进去。7万来了跟十秒有关系吗?没关系吧,因为这个是7万,那个是七万九对吧,也没过十秒啊,所以用这个排除了十秒这个逻辑。啊,跟十秒这个没关系啊。
07:00
啊,很有意思吧,其实我们逻辑并没有写错啊,只是说大家对这个掌握的呢,还不深啊,对于这个CD啊,这里面有一个什么点呢,我之前就说了,CP当中。等下一条来了,才输出上一条。满足严格两次才输出,那我这样的话,这不是严格两次吗?下一条来了呀,两条数据都有了呀,对吧,主要在于什么呢?主要在于咱们用的是实践时间。用的是时间,时间,而且我用的是next next是不是严格禁邻,我跟大家解释啊,大家注意听啊,Next是严格禁邻,好,那我开始呢,输了一个7万。七麦。对吧,呃,那这个时候我mark是多少呀。六万八对不对,万八两秒吗?我有两秒延值啊好,那我又说了一个7万,7万我的妈是多少?73000。
08:04
对不对?好,那你想啊,Worldmark的作用是不是表示表示什么,表示小于worldmark的数据全部到齐,我只能认为七万五这条数据来了,我只能认为七万三之前的数据到齐了,对吧,那有没有可能七万五之后来了一个74000。有没有可能?因为我们设置的乱序是两秒,那七万五后面跟着一个74000,有没有可能。有可能的吧,是不是。对吧,好,那既然这样的情况,那你看啊,由于我们之前用的是什么,用的是next对不对,用的是next吧,是不是用的next,好既然用next它叫严格近邻,好当我们输七万五的时候,我们能说这两条数据严格近邻吗?
09:06
能说吗?是不是有可能还有74000,如果七万四来了,那7万跟七万四是严格近邻对不对?所以当七万五来的时候。对吧,当七万五来的时候并不能输出啊,那为什么我七万九就可以了呢?因为七万九他的沃是77000。是不是7万,七万七说明什么。七万七以前的数据全部到齐,不会再有小于七万七的时间戳了。那么。七万五跟7万数据是不是next的关系,是不是严格近邻的关系,大家想一下。是不是?对不对,七万七这些数据,所以这个里边要注意啊,在用CP的时候,它是可以处理乱序数据的。
10:03
它是可以CP是可以处理乱序数据的,这个要注意一下啊,对吧,所以我们单独测一定要测出这种点啊,如果说你把整个流开起来,你是看不到这种现象的。啊,你根本看不到这种现象对吧,因为一直留在打印,你怎么知道这个数据关系啊,对吧?好,那接下来我们再给他看一个这个超时的啊,比方说嗯,七万五这条数据,我们想让他走超时输出这条线,输出出来我们应该给多少呀。加个十秒加个12秒对吧,七万五加个12秒,那就是87000。啊,得有个87000,但是呢,我们后来又加了一个。七九对吧,加了个七九,最好在它基础上加这个12秒,加12秒的话,这个就是多少九一吧,那我们直接给一个九二对吧,我们就搞大一点九二,让它超过那个值,因为我们设置沃玛延时时间啊,RC拿过来。
11:03
然后呢,往那一放。看我们数据打印是不是这两条都会出现了。都超时了吧,对吧。啊,那这一条注意它是因为什么呢?它是因为跟他七万五这条数据跟他一样啊,跟它一样的方式,因为呃两连连续两次嘛,对吧,而这个七万九这条数据是不是走的超时逻辑啊。他走的是超时啊,这个七万五呢,跟7万走的是一个逻辑对不对。没问题吧?七万五跟他逻辑是一样的,连续两个都不为那么对吧,而这个走的是超时,走的是超时。对吧,是这样子啊,并不是我们代码写错了啊,是CAD可以处理乱序数据啊,它可以处理乱序数据,这要注意一下,OK了,那这块呢,我们就测完了啊,至于把流开起来一样,对吧?啊,你去可以自己去测一下啊,因为今天时间的关系,我今天就不测了啊,那主要是测试,我们手动测试更好一点,对吧,手动测试看的更清楚一些啊,我们所有的逻辑全部能测出来,OK吧。
我来说两句