/| //| |
//| // | | ___ __ ___ ( ) ___ ___ ___ ___
// | // | | // ) ) // ) ) //___) ) / / (( ) ) (( ) ) // / / //___) ) (( ) )
// | // | | // / / // // / / \ \ \ \ // / / // \ \
// |// | | ((___/ / // ((____ / / // ) ) // ) ) ((___( ( ((____ // ) ) //
_ __ ___ __ ___ / ___ __ ___ // ___ ___ / ___ ___
// ) ) ) ) // ) ) // ) ) //___) ) //\ \ // ) ) // ) ) // / / / / // //___) ) // ) / // ) ) //___) )
// / / / / // / / // // // \ \ // / / // / / // / / / / // // // / / ((___/ / //
// / / / / ((___/ / // ((____ // \ \ // / / ((___/ / ((__( (__/ / // ((____ ((___/ / //__ ((____
前言
本文还称不上一本书,希望以后能变成一本完整的书
书中如有错误,请多多包涵,还望各位多多指正,感激不尽
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!"
未完待续