/|    //| |                                                                                    
   //|   // | |     ___      __      ___         ( )  ___      ___               ___      ___      
  // |  //  | |   //   ) ) //  ) ) //___) )     / / ((   ) ) ((   ) ) //   / / //___) ) ((   ) )   
 //  | //   | |  //   / / //      //           / /   \ \      \ \    //   / / //         \ \       
//   |//    | | ((___/ / //      ((____       / / //   ) ) //   ) ) ((___( ( ((____   //   ) )  // 
                                                                                                                            
                                                                                                                            
                                                                                                                            
    _   __      ___      __      ___         / ___       __      ___                  //  ___      ___   /  ___      ___    
  // ) )  ) ) //   ) ) //  ) ) //___) )     //\ \     //   ) ) //   ) ) //  / /  / / // //___) ) //   ) / //   ) ) //___) ) 
 // / /  / / //   / / //      //           //  \ \   //   / / //   / / //  / /  / / // //       //   / / ((___/ / //        
// / /  / / ((___/ / //      ((____       //    \ \ //   / / ((___/ / ((__( (__/ / // ((____   ((___/ /   //__   ((____     

前言

本文还称不上一本书,希望以后能变成一本完整的书

书中如有错误,请多多包涵,还望各位多多指正,感激不尽

Chapter 1 无知的线程与伟大的ThreadPoolExecutor

我按照来自造物主的指示,走向一家我从没见过的线程池(也就是人类所说的公司)。

这家线程池占地很大,很大。我逐渐接近这个庞然大物的大门,发现门口竟然还排着队。

“什么年代了,还排队!”

门口的监控器给了我一棒子,把我踹进了大门。


    //  ) )                                                                                                                
 __//__  ___      ___    __  ___  ___      __                   _   __      ___      ___   /  ___          ___       __    
  //   //   ) ) //   ) )  / /   //   ) ) //  ) ) //   / /     // ) )  ) ) //   ) ) //   ) / //___) )     //   ) ) //   ) ) 
 //   //   / / //        / /   //   / / //      ((___/ /     // / /  / / //   / / //   / / //           //   / / //   / /  
//   ((___( ( ((____    / /   ((___/ / //           / /     // / /  / / ((___/ / ((___/ / ((____       ((___/ / //   / /   

这是一家由伟大的ThreadPoolExecutor类创造的线程池。

这家线程池的核心线程数量corePoolSize是在建立之初就定好了,不能增加,也不能减少。即使核心线程天天摆烂,啥也不干,也不会死亡……

“真好啊,我也想当核心员工,这样就可以躺平了。”

“哈哈哈,无知的线程,进来就得干活!管你是核心线程还是非核心线程!而且啊,核心线程在线程池创立的时候就已经存在了,你是不可能成为核心线程的。”

在这个世界,如果不是线程池的核心线程,干完活,就会死去。没有线程在意你。

这是大家都知道的现实。

“怎么成为核心线程呢?”

“下次投个好胎,选择一个好时机再出生”

。。。。。。

Chapter 2 我能活多久?

简单的说,你的生命长度由keepAliveTime定义。它是long类型的变量,意味着,你最多只能活2^64。

哦,不对,还有一个东西——时间单位。

在造物主的世界里,1微毫秒 = 1微秒 / 1000 MICROSECONDS : 1微秒 = 1毫秒 / 1000,1微毫秒 = 1微秒 / 1000 MICROSECONDS : 1微秒 = 1毫秒 / 1000。这些你都知道的。

那在我们的世界里,时间是什么呢?

只是一个数字而已,对于我们来说没有什么意义。

那它叫什么?

unit。来自伟大的TimeUnit 类。

Chapter 3 变革

伟大的ThreadPoolExecutor类创造了一个伟大的管理员,一个叫做allowCoreThreadTimeOut()的管理员被创造出来了。

“有希望了,你可以变为核心员工了。”

“😁😁😁”

”前提是你手里面得有一个神器“

”😶‍🌫️什么是神器啊?“

”true,把神器喂给管理员吃,你就有机会变成核心员工了“

”我怎么拿到这个神器呢?“

”自己想办法“

我:

Chapter 4 偶遇间谍(番外篇-与mysql的爱恨情仇)

“报告主线程大人,我发现一名间谍!”

我特别高兴,我想,我立下如此大功,应该能当上核心线程啦。

“哦?它叫什么名字?”

“(⊙﹏⊙)呃......不知道”

“哈哈哈,你还是老样子!没事,我就麻烦点,看看是不是真有间谍。”

刚说完,主线程手里就有一份所有线程的工作信息。

“哦~,是它呀。”主线程大人不屑的笑笑,“它所在的数据库,仅仅实现了「读未提交」,科技太落后了。它经常会访问到脏数据。这些脏数据不仅一点用都没有,甚至还会扰乱敌方数据库的信息所在。”

“不过~,这个数据库,太落后了,算不上我们的敌人”

唉,愿望又落空了~

“小线程,不用灰心,看你这么忠诚的份上,给你指一条明路。”主线程大人抬手指向天空的乌云,里面穿梭来往的是各种小小线程,甚至是各种主线程家族(真落后),当然,也有臃肿的API大人。

“告诉你一个小秘密,乌云之上,才是我们真正的敌人——MySQL。它凭借‘国王的新衣’这一战术,成功的吸引了无数的造物主去分发和安装它。它占领了很多造物主的隐秘之地,记录了造物主的所有隐私信息。我交予你一任务,你去查探一下MySQL的原理,我们要安排人手去攻破它。”

“当然,你去的时候。切记,要低调行事。“

"Yes, sir!"


未完待续