00:01
OK,那么各位同学,我们刚才呢。我们呢,梳理了一下这个线程池,我们是不是一套的全部给它穿起来了。那么这。为什么要用?构造著作。传接口。我们讲过了,你千万不要写死啊。我现在是不是用的是。你懂的。我现在写这个是不是也行啊?那么言下之意,我传接口的。扩展性、适配性和通用性彻彻底底增强。再次强调,如果你有两年工作经验,以上起码。你要有一个固化的思维方式,永远传参传接口。那么这个事儿大家请看。严格定义的构造著作传的是的接口,只要符合这接口是不是都可以调。那么OK,我们现在呢?刚才呢传的是阿瑞,现在我们传link。
01:01
叉一,叉二叉三叉四叉五。还是五次这么说能跟上,但是注意啊。我这是打印。有可能某一个打印是在前面了,听懂了吧,因为它线程取值和读值的这个无序性。这么说听不听得到好,那么这边队列没有什么错的好。那么这块。大家其实这块就非常重要的一个,你你你我要是跟你说。记得以后传接口,你说这个正确的道理,你跟我讲,你是不是听过很多遍了,就跟以前很多老师跟你说高丽聚低耦合啊,我知道知道知道知道你真的用了。那么这个就是什么,在这儿就是好处什么落地。说白了,你说你自己今天去看个书,不可能你不被我关在这个教室里面,你不可能今天早上十点学到今天下午五点,六个小时来学习时间,你的内功记不出来的,你最多看一个小时以后,丢丢书就开始什么吃鸡了。差不多了,你能坚持一个小时,这个影是不是就来了,对吧,那么所以说呢,这边的话呢,我们呢。
02:01
还是要在这儿好的。整整。那么呢,现在回答我一个问题,那阻塞队列还是敢拍着胸脯的说一下略知一二了吧?好,那么呢,只知道一二还不行,我们还得知道345。下面。只有知道了阻塞队列,你才能真真正正的懂什么叫线程池。我们这儿呢,开个头,具体的呢,我们放在明天再中奖,但是呢。眼理论知识就完了。为什么要线成池啊,它优势是什么?基本上面试官的原话开场白,你为什么要用数据库连接池啊?你的优势是什么?不用会怎么样?我相信没有哪个同学做你们的项目的时候用的是GDC直连吧,那几部写出来了老猛了对吧。那这事的话,除非你是想什么,从入职啊到商铺跑路,我只我只能这么理解啊。所有石化技术。那我就要问你了,我们为什么要用线程池呢?大家思考一下。
03:04
那同学们,我们为什么要用线程池啊?它的优势是什么呢?像杨哥这种八零后,可以这么说吧?大概。15年前。我们大概呢本子啊。就是一个什么。基本上就是什么,你们可能都没听过啦,什么奔四的CPU。赛扬的CPU你们就不懂了哈,反正你就把它当做就是。咱们用一句话怎么讲懂的,就比方说那个时候我还用着一种东西,叫有事你call我,叫传呼机,听懂了吧。你看秒懂了吧,有同感了对吧,好。但现在呢,基本上我我我觉得除非你是雕刻石棺复古情节,否则应该不会有哪个九零后男生比较烧包的,腰间挎个床,户街有事你call我哟,你懂的是吧?那这事一定是二货听懂了吧。好,那么接下来什么概念呢?以前我们只有主板上,我只有一个CPU。听懂了吧?那么这个CPU什么概念呢?我能不能干多线程?有Java是九五年就有就出生的语言。
04:03
九五年的时候就有这个叫Java多线程,那他怎么干的呢?他干的是个假的多线程,什么叫假的多线程?首先你告诉我,任何牛逼的代码是不是要依托于硬件?这个同不同意?我当时我们所有CPU都是单核和为单核,单CPU就是我只有一个,你就变成什么开头,我怎么玩多线程。你就把我当做一个小丑,马戏团的小丑。一定见过小丑是不是手上有四个球或者五个球六个球不停的丢?能跟上。但是最终有几个。人人是还能有一个小丑,但是呢?随着硬件的递增,那你们这群九零后就幸福了,你们是真真正正进入了多核时代?那么你告诉我,你怎么看你的CPU核数本子上?你怎么看你的合数啊?这个本子啊。就比方说现在你懂的这块是不是有一任务管理器啊。
05:01
那不用讲这块性能,这你看我这是不是四合八线程没问题吧。那么好,这是一种方法。你在哪?你这管理这。那么什么概念呢?这时候什么什么服务啊。设备管理器。这。处理器是不是一堆堆?那么爽死了,有点类似于什么呢?你们?真正正正的多核,比方说你你你主板上你焊焊接的硬件有四个CPU,言下之意,什么?以前是我一个小丑手上拿着四个球在丢,那现在变成你四个小丑,每个小丑手上有一个球在叼。好处是什么?兄弟,你们牛逼就牛逼,在硬件上面缺少了省略了。上下文的切换。你听的名字是不是又不一样了是吧?那你说我不懂。过来在这儿,那么下面我要问你了,你能不能这么看CPU啊啊。
06:01
不能刚才那个我用任务管理器和用管理的方法对不对呀。对,但是你是什么,你们是什么专业,是不是上大计算机系大五计算机专业毕业了。你怎么能用鼠标右键看图形画呢?那假设这是它Linux主机怎么办呢?没有图形画呢?那么这个时候干嘛,刚才那个看法怎么着,我老婆也会用你这个叫电脑爱好者。那么你现在是专业的Java开发工程师啊,你必须用代码来看。不是装逼啊,是因为你有可能你的系统是部署在Linux环境,你根本就没有办法。去看界面,那你瞎说,你是在扔阿里云,你跑去阿里巴巴去看他,那这时候干嘛,我们讲过。什么这么大?这个时候是不是我们有onetime这个类?点get runtime.available process,这个时候就是看你底层CPU的核数是多少和,那么这个时候同学们我们一看。干嘛?杨哥是不是?啊,能跟上。
07:01
OK,基本上你在。县城里面你要拿这么看,这才叫计算机专业,你要懂。刚才那个什么鼠标右键,那我老婆也能用,你叫电脑爱好者。区别不一样。你懂的。好,那么接下来。什么概念呢?多线程的,它的意思是这么一个情况。以前。你只有一个CP正方形吧?然后呢,多线程。刷刷。三个。没办法,这一个小丑不停的丢这三个线程,三个线程,一个线程就是一个球。他疲于奔命。你在丢的过程当中有没有发现这个球,它为了保证每一个球不落地,它不得不不停的切换。这就是消耗。但是现在牛牛了。妈,三个兄弟干嘛?妈,是不是管够啊?那么言下之意就是一个线程来了,我独占一个CPU,一个线程来了,我独占一个,一个线程来了,我独占一个,假设现在你是四核八线程,假设你硬件上哈四个CPU,每一个CPU一个线程占,那么这个时候这个小丑是不是不用切换?
08:15
那么就是什么省略了你这些上下。第二个还是什么。所有的学习哈,你都是学底层思想。去年弟兄们已经干过对象,你们会干什么的?是不是缺什么,你有什么?同不同意?好,我从开奖到现在,我要获得多线程,怎么干?是不是new.start对不对?你们以前第一个月学Java件,一定老师给你们讲过,兄弟们,Java里面面向对象,一切皆对象,缺什么用什么。但是到慢慢的到后面你又会出现什么情况?学到spring以后,有没有发现不再new对象了?年下值以依赖反转所有对象是不是直接注入进来那么一样。多线程里面你只要是new thread,也就是什么概念呢?
09:08
同学们。产不产生资源的消耗。你只要尿,垃圾回收就要烧,尿就要烧,尿就要烧,那么由于进入了多核时代,硬件上已经支持了,那么我们就会想一个问题。能不能不要尿?你看是不是又倒回到spring的那种思想,你需要,你需要对象,我们现在注入,我不要念,你现在需要现成,你也不要new来,我们倒过来从县城吃已经给你六好直接开药,那么这时候兄弟们,你们懂的,直接过来了,以后是不是可以直接复用啊?好,那么所以说我们在这儿。一样。的说法和实现。线程池的优势就在这儿。大家。一分钟读一下。那么OK。控制运行的数量。
10:01
放什么假?那能能不能理解我们要前面为什么花那么大的代价讲阻塞队列,那么下一讲我们讲线程池的时候会发现底层就是什么。总侧队列好。超过了最大的。排队等候。吃火锅,用餐区满了,超过了最大用餐顾客人数,是不是只能去候客区等待啊?好。最终,妇幼。只要是说白了。6666减少。这些理论性的东西就不废话,那么这个就是线程池,为什么要用其他的优势?
我来说两句