00:00
兄弟们。这时候刚才讲过理论了,你也知道了,哎呀,专属定制版这个队列就有一个,生产一个,消费一个,你不拿走我永远不生产,第二个咱们两个就是一对一。一正一负,一进一出,理论上是不是都懂了?干嘛呢,没有,反正懂了,那这时候我告诉你,你你这个知识,你永远只是中级程序员熟练工。好,那么接下来。理论。还是那句话,那现在杨哥给你理论了,你看我第二盘斧永远是代码。真正正的成全差距。在第二板斧。那当然你第三版斧出来小总结了,Getup上全是你的代码库。麦扣里面随便粘,然后自己再写个小工具,一粘一粘一粘粘粘粘粘粘就O了。那最终是不是你就可以钱多事少离家近,别人加班你加薪啊?过来,不然的话呢,另外一种程序要干嘛?只好把李嘉欣的照片放到桌面上给老板看,言下之意是我要加薪了。老板不过。老爷。其他不同。不存储元素的阻塞队列。
01:00
零库存听懂,生产出来马上被人拿掉,零库存阻塞队列,这个很牛逼。每一个put操作必须要等待一个take操作,否则不干。不废话,咱们还是代码说话。那么呢?以前是不是这货兄弟们没问题吧?现在呢,变了,这货。哎呀,给个面子嘛。怎么还是红色?好。那么来,兄弟们,那初始是几啊?Lawyer。是公平非公平,所它就是有一个哈,不存储。那么什么叫不存储呢?注意。前面讲的简单,那完全单机版就是个没线程I什么remove和poor对吧,现在呢,两线程。
02:01
AAA现场。他负责。干嘛呢?家。那么好。第二。Put。这个时候我们得到一个A。那么这个货呢,干嘛呢?要报个异常。我每次写这个的时候,我就特别不爽,老大的一大堆异常要等着你哈,那么好。接下来请看我这是不是put了,你看着啊。那么这个时候。Put。一吧,好好对一下,我就不用A了,我就用数字一一能跟上。好兄弟们。现在。这有哥们是不是出成绩?我PUT3次。二。三。你要,哎,不好意思啊。
03:01
要懂,你换以前的put,我们这儿假设按照前面那个L是三个,是不是put put put3个搞定吧,肯定空间够用,这是A线程,那么B线程呢。铸剑。这一块。啰嗦。兄弟们。A,线程启动,我是不是先生产往里面塞?那么正常情况下,兄弟们你们懂的。一。三我中间没有时间隔断,是不是唰唰的往前面塞,但是注意。这哥们就是你不消费,你想插第二个插不进去。何以见得看我过去这么干?直接给你五秒钟。五秒钟以后,Broke第二,什么take,我来取。
04:01
兄弟们,你们懂的。这个时候干嘛,是不是A线程我塞了一个,我还我还马,我是否还马上要去做第二个。是不是啊?哎呀,怎么有同学还点头了?不是啊,不跟你说了吗?它是不存储队列的,你不消费,我不生产,听懂了吗?那这个是什么概念?我们要怎么证明呢?第一行打出来以后就会卡死在这儿。负一,听懂了吧,然后呢,这边几秒钟。五秒钟以后,这哥们马上去取,听懂了吧,那么好。这哥们儿出来个啥呢?是不是个我们的A呀,与我们那个一,那么这个时候请看。同学们。蝼蚁,你给我五秒钟,我取一个,我们来看一下它的效果是什么样。
05:00
好,那么看一眼哈,我这个是不是我们的BPP啊,千万不要搞错啊。五秒钟一组,五秒钟一组,也就相当于说我生产了,你来取吧,我准备生产第二个了。不看你。五秒钟以后,这哥们才来take,五秒钟以后,只要B线程take一次以后是不是应该马上打出这句话?我才能接着生产第二个,又等五秒钟以后,B消费了,我才马上生产第三个。听懂,好,那么同学们深刻体会同步队列。五秒钟。你看B取得了一对不对,你看a put他不会马上put,第三注意啊,你说你你千万不要误会啊,你说那你杨哥你写程序有问题,你在下面是不是等了五秒钟大哥,我下面B等了上面有没有等。也就是说上面是不是应该,你看PUT2以后,那正常情况下是不是应该马上打出put特三没有,为啥。
06:04
同步队列不存储,产生一个消费一个,产生一个消费一个,专属定制版这句话理解了吧?所以说呢,这就是我们什么学技术的差距和方法论,你一定把理论知识落地到一个个的小代码,你不要想着一开始你先去造什么万里长城,不可能,你先让他把一块砖通好才行。一定都是这样的是吧?积小胜为大胜。好,那么大家请看A这个这个。中间一定会有五秒钟没问题了吧,那么这个呢,就是我们的什么呢?同步队列。
我来说两句