自我介绍
我是一个线程,英文名,Thread-A,家是一个小村子叫线程池,我从小住在哪里,那里有很多和我一样的线程,我们的村长是叫CPU,我的工作都是由他进行分配的
工作内容
我们每天的工作可能不一样,经历是最深刻的是我刚出生的时候,第一次干活,村子的广播就喊我,并给我一个包裹,让我到一个就绪车间等待,
我来到就绪车间,看到很多人和我一样,都在等待干活,刚坐下,想休息一会,里面就被喊到运行车间,很是奇怪大家都看着我,低声的说这小子真幸运,一来就被看上了,
我立马又来到了运行车间,里面的人身上都有各种标签,数据库,硬盘,内存,网卡等等,我赶紧打来包裹,看看里面有啥,里面有一个httprequest对象,他里面装着两个东西,一个是username,一个password,
潜意识,告诉我,他们是要登录网站呀,我立刻把username和password交个数据库,他拿着数据慢慢的走了,我想这货就是在摸鱼
此时广播喊我,说记住你现在的执行的步骤,然后带着包裹离开,有其他线程要进行进来了,不要占地方,我就出了运行车间,门口居然坐了一堆人
我还看见了同村的大哥,我们就闲聊了起来,第一次干活吧,来来抽根烟,慢慢等等吧,数据库那小子干活很慢的,我说不能等呀,用户还等着登录网站呢
大哥说,放心,我们的世界和人类的时间不一样,我们用的纳秒和毫秒,人类的一秒,是我们的好几天呢,来的及
第二天,我才接到广播说,你要的数据来了,我赶紧去车间,但是门卫不让进,让我先去就绪车间等待,TMD,不早说,我又跑到就绪车间等待,
等了一会,就会交到了运行车间,我就赶紧干活,然后用户登录成功,然后进入主页,然后我还要处理html,js,然后把他们拼接一起,展示给用户,正在干一半的后,运行车间就提示,你的时间到了,每个人进来是有时间限制的,得让给别人了
就这样,就绪,等待,运行,来来回回的运行,最后把包裹的清单执行完成了,我就赶紧把结果发了出去,后面我就不管了,获取的路上,还听说有的人在半路被人kill了,此时我感到幸运,我居然如此的幸运,
回到了家,想了一下今天发生的事情,总结了一下今天的经验
第一,我们线程不知道什么时候被挑中运行
第二,在干活的时候,可能随时被中断,
第三,数据库,硬盘那班人干活真的很慢,
第四,数据来了,我也不一定立刻能干活,还得等待
就这样,一天天的过着,很是舒服,但是我发现每次到了11.11号那天就特别忙,我们村子的人都特别的忙,运行车间利用率特别的高,硬盘在使劲的转,网卡的等一直再闪,包裹处理不完,堆积如山,
但是有一天,遇到了我们的老大哥,Memcached线程,咱两合作一下,以后你把你常用的东西,放到我这里,别人要的时候,就不必找你的,你也不用来回跑的拿数据,送数据,直接我给你干了,你的奖金给我的提成就行,
就这样,我干活的速度一下子上来的,月月业绩第一,但是有时候,Memcached线程大哥体力有限,他也拿不了那么多东西,有的人还是会找我拿数据,但是这样我已经很满足了
亮点
有一天我们在处理一次转账操作,账户A往账户B转钱,这个我也是第一次干,所以也翻起了笔记,
原来不加锁,会造成如此严重的问题,幸好我们发了一下笔记,然后顺利的处理了这次转账,以后我们只要遇到转账,就加锁,肯定没有问题
不出意外的话出了意外,还是账户C向向账户D转账,但是另外一个线程,他同时从账户D到账户C进行转账,于是乎,意外来了
我和对方都在等待,他不愿意放人,我也不放,就这样耗着,事情闹大了,操作系统来了,看了一样,你们要死一个,看看是谁把,过来抽签,幸运的是我活了,他被kill了,这吓坏我了,
操作系统然后告诉我,以后遇到转账不仅仅要加锁,还要按照他们的名字顺序来,以后看到以后都按照这个标准,先锁账户C,再锁账户D,就这样按照大佬的意思,我再也没有遇到和我抢锁的人了.
日子一天天的过,但是活越来越少,反复处理一件事情,就是发送一段文字,我偷偷的看了一眼,写着今晚系统重启,进行维护升级,然后我把消息告诉了其他老线程,老线程说,我们的生命到了尽头了,系统重启,我们就要消失了,说这说这,身边的人都消失了,还没有等我喊人,我就是睡了过去
我们的这个村子线程池从此消失了,下一个村子即将重生