日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我是一个线程(转载自: IBM刘欣)

發(fā)布時間:2023/12/16 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我是一个线程(转载自: IBM刘欣) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2016-03-30 IBM劉欣 程序猿
來自:碼農(nóng)翻身(微信號:coderising)
作者:IBM劉欣
原文地址:http://kb.cnblogs.com/page/542462/

我是一個線程, 我一出生就被編了個號: 0x3704, 然后被領(lǐng)到一個昏暗的屋子里, 這里我發(fā)現(xiàn)了很多和我一模一樣的同伴。

我身邊的同伴0x6900 待的時間比較長, 他帶著滄桑的口氣對我說:

我們線程的宿命就是處理包裹。 把包裹處理完以后還得馬上回到這里,否則可能永遠(yuǎn)回不來了。

我一臉懵懂,包裹,什么包裹?
”不要著急,馬上你就會明白了, 我們這里是不養(yǎng)閑人的。“
果然,沒多久,屋子的門開了, 一個面貌兇惡的家伙吼道:
"0x3704 ,出來!"
我一出來就被塞了一個沉甸甸的包裹,上面還有附帶著一個寫滿了操作步驟的紙。
"快去,把這個包裹處理了。"
"去哪兒處理"
"跟著指示走, 先到就緒車間"

果然,地上有指示箭頭,跟著它來到了一間明亮的大屋子,這里已經(jīng)有不少線程了, 大家都很緊張,好像時刻準(zhǔn)備著往前沖。

我剛一進(jìn)來,就聽見廣播說:“0x3704, 進(jìn)入車間”

我趕緊往前走, 身后很多人議論說:

”他太幸運了, 剛進(jìn)入就緒狀態(tài)就能運行“
”是不是有關(guān)系?“
”不是,你看人家的優(yōu)先級多高啊, 唉“

前邊就是車間, 這里簡直是太美了, 怪不得老線程總是嘮叨著說:要是能一直待在這里就好了。

這里空間大,視野好,空氣清新,鳥語花香,還有很多從來沒見過的人,像服務(wù)員一樣等著為我服務(wù)。

他們也都有編號, 更重要的是每個人還有個標(biāo)簽,上面寫著:硬盤,數(shù)據(jù)庫,內(nèi)存,網(wǎng)卡...

我現(xiàn)在理解不了,看看操作步驟吧:

第一步:從包裹中取出參數(shù)

打開包裹, 里邊有個HttpRequest 對象, 可以取到 userName, password兩個參數(shù)

第二步:執(zhí)行登錄操作

奧,原來是有人要登錄啊,我把userName/password 交給 數(shù)據(jù)庫服務(wù)員,他拿著數(shù)據(jù), 慢騰騰的走了。

他怎么這么慢? 不過我是不是正好可以在車間里多待一會兒? 反正也沒法執(zhí)行第三步。

就在這時,車間里的廣播響了: 

“0x3704, 我是CPU , 記住你正在執(zhí)行的步驟, 馬上帶包裹離開”
我慢騰騰的開始收拾

”快點, 別的線程馬上就要進(jìn)來了“

離開這個車間, 又來到一個大屋子,這里很多線程慢騰騰的在喝茶,打牌。
”哥們,你們沒事干了?“

”你新來的把, 你不知道我在等數(shù)據(jù)庫服務(wù)員給我數(shù)據(jù)啊! ,據(jù)說他們比我們慢好幾十萬倍, 在這里好好歇吧“

”啊? 這么慢? 我這里有人在登錄系統(tǒng), 能等這么長時間嗎”

”放心,你沒聽說過人間一天, CPU一年嗎, 我們這里是用納秒,毫秒計時的, 人間等待一秒,相當(dāng)于我們好幾天呢, 來的及“

干脆睡一會吧 , 不知道過了多久 ,大喇叭又開始廣播了:

“0x3704, 你的數(shù)據(jù)來了,快去執(zhí)行”

我轉(zhuǎn)身就往CPU車間跑,發(fā)現(xiàn)這里的們只出不進(jìn)!

后面?zhèn)鱽黻囮嚭逍β?#xff1a;

”果然是新人, 不知道還得去就緒車間等“

于是趕緊到就緒車間, 這次沒有那么好運了, 等了好久才被再次叫進(jìn)CPU車間。

在等待的時候, 我聽見有人小聲議論:

”聽說了嗎,最近有個線程被kill掉了“
”為啥啊?“
”這家伙賴在CPU車間不走, 把CPU利用率一直搞成100%,后來就被kill掉了“
”Kill掉以后弄哪兒去了“
”可能被垃圾回收了吧“

我心里打了個寒噤 , 趕緊接著處理, 收下的動作塊多了,第二步登錄成功了

第三步:構(gòu)建登錄成功后的主頁

這一步有點費時間, 因為有很多HTML需要處理, 不知道代碼誰寫的,處理起來很煩人。

我正在緊張的制作html呢, CPU有開始叫了:

“0x3704, 我是CPU , 記住你正在執(zhí)行的步驟, 馬上帶包裹離開”
”為啥啊“
”每個線程只能在CPU上運行一段時間,到了時間就得讓別人用了, 你去就緒車間待著, 等著叫你吧“

就這樣, 我一直在就緒-運行 這兩個狀態(tài),不知道輪轉(zhuǎn)了多少次, 終于安裝步驟清單把工作做完了。

最后順利的把包含html的包裹發(fā)了回去。

至于登錄以后干什么事兒 , 我就不管了。

馬上就要回到我那昏暗的房間了, 真有點舍不得這里。

不過相對于有些線程, 我還是幸運的, 他們運行完以后就徹底的銷毀了,而我還活著 !

回到了小黑屋, 老線程0x6900 問:

”怎么樣?第一天有什么感覺?“
”我們的世界規(guī)則很復(fù)雜 , 首先你不知道什么時候會被挑中執(zhí)行; 第二 ,在執(zhí)行的過程中隨時可能被打斷,讓出CPU車間;

第三,一旦出現(xiàn)硬盤,數(shù)據(jù)庫這樣耗時的操作也得讓出CPU,去等待; 第四,就是數(shù)據(jù)來了,你也不一定馬上執(zhí)行,還得等著CPU挑選“

”小伙子理解的不錯啊“
”我不明白為什么很多線程都執(zhí)行完就死了, 為什么咱們還活著?“
”你還不知道, 長生不老是我們的特權(quán), 我們這里有個正式的名稱,叫做 線程池!“

平淡的日子就這么一天天過去, 作為一個線程, 我每天的生活都是取包裹,處理包裹,然后回到我們昏暗的家:線程池。

有一天我回來的時候, 聽到有個兄弟說, 今天要好好休息下,明天就是最瘋狂的一天。

我看了一眼日歷,明天是 11月11號 。

果然,零點剛過,不知道那些人類怎么了, 瘋狂的投遞包裹, 為了應(yīng)付蜂擁而至的海量包裹, 線程池里沒有一個人能閑下來,全部出去處理包裹,CPU車間利用率超高,硬盤在嗡嗡轉(zhuǎn), 網(wǎng)卡瘋狂的閃, 即便如此, 還是處理不完,堆積如山。

我們也沒有辦法,實在是太多太多了, 這些包裹中大部分都是瀏覽頁面,下訂單,買,買,買。

不知道過了多久, 包裹山終于慢慢的消失了。

終于能夠喘口氣, 我想我永遠(yuǎn)都不會忘記這一天。

通過這個事件,我明白了我所處的世界:這是一個電子商務(wù)的網(wǎng)站!

我每天的工作就是處理用戶的登錄,瀏覽, 購物車,下單,付款。

我問線程池的元老0x6900 : ” 我們要工作到什么時候?”
” 要一直等到系統(tǒng)重啟的那一刻”, 0x6900 說
” 那你經(jīng)歷過系統(tǒng)重啟嗎?”
” 怎么可能? , 系統(tǒng)重啟就是我們的死亡時刻, 也就是世界末日,一旦重啟, 整個線程池全部銷毀,時間和空間全部消失,一切從頭再來”
” 那什么時候會重啟?”
” 這就不好說了,好好享受眼前的生活吧…..”

其實生活豐富多彩, 我最喜歡的包裹是上傳圖片,由于網(wǎng)絡(luò)慢,所以能在就緒車間, CPU車間待很長很長時間,可以認(rèn)識很多好玩的線程。

比如說上次認(rèn)識了memecached 線程,他給我說通過他緩存了很多的用戶數(shù)據(jù), 還是分布式的! 很多機器上都有!

我說怪不得后來的登錄操作快了那么多, 原來是不再從數(shù)據(jù)庫取數(shù)據(jù)了你那里就有啊, 哎對了你是分布式的你去過別的機器沒有?

他說怎么可能我每次也只能通過網(wǎng)絡(luò)往那個機器發(fā)送一個GET, PUT命令才存取數(shù)據(jù)而已, 別的一概不知。

再比如說上次在等待的時候遇到了數(shù)據(jù)庫連接的線程, 我才知道它他那里也是一個連接池, 和我們線程池幾乎一模一樣。

他說有些包裹太變態(tài)了,竟然查看一年的訂單數(shù)據(jù), 簡直把我累死了。

我說拉倒吧你, 你那是純數(shù)據(jù), 你把數(shù)據(jù)傳給我以后,我還得組裝成HTML, 工作量不知道比你大多少倍。

他說一定你要和memecached搞好關(guān)系,直接從他那兒拿數(shù)據(jù),盡量少直接調(diào)用數(shù)據(jù)庫, 我們JDBC connection也能活的輕松點。

我說好啊好啊, 關(guān)鍵是你得提前把數(shù)據(jù)搞到緩存啊, 要不然我先問一遍緩存, 沒有數(shù)據(jù), 我這不還得找你嗎?

生活就是這樣, 如果你自己不找點樂子,還有什么意思?

有一天我遇到一個可怕的事情, 差一點死在外邊,回不了線程池了……
其實這次遇險我應(yīng)該能夠預(yù)想到才對, 太大意了。

前幾天我處理過一些從http 發(fā)來的存款和取款的包裹, 老線程0x6900 特意囑咐我:

“處理這些包裹的時候要特別小心, 你得一定要先獲得一把鎖, 在對賬戶存款或者取款的時候一定要把賬戶給鎖住, 要不然別的線程就會在你等待的時候趁虛而入,搞破壞, 我年輕那會兒很毛糙,就捅了簍子”

為了“恐嚇”我, 好心的0x6900還給了我兩個表格:

1、沒有加鎖的情況

2、加鎖的情況

我看的膽顫心驚, 原來不加鎖會帶來這么嚴(yán)重的事故。

從此以后看到存款,取款的包裹就倍加小心, 還好,沒有出過事故。

今天我收到的一個包裹是轉(zhuǎn)賬, 從某著名演員的賬號給某著名導(dǎo)演賺錢, 具體是誰我就不透漏了, 數(shù)額可真是不小

我按照老線程的吩咐, 肯定要加鎖啊, 先對著名演員賬號加鎖, 在對著名導(dǎo)演賬號加鎖。

可我萬萬沒想到的是, 還有一個線程,對,就是0x7954, 竟然同時在從這個導(dǎo)演到往這個演員轉(zhuǎn)賬。

于是乎,就出現(xiàn)了這么個情況:

剛開始我還不知道什么情況, 一直坐在等待車間傻等, 可是等的時間太長了, 長達(dá)幾十秒 ! 我可從來沒有經(jīng)歷過這樣的事件。

這時候我就看到了線程0x7954 , 他悠閑的坐在那里喝咖啡, 我和他聊了起來:

“哥們, 我看你已經(jīng)喝了8杯咖啡了, 怎么還不去干活?”
“你不喝了9杯茶了嗎?” 0x7954 回敬到。
“我在等一個鎖, 不知道哪個孫子一直不釋放”
“我也在等鎖啊,我要是知道哪個孫子不釋放鎖我非揍死他不可 ” 0x7954 毫不示弱。

我偷偷的看了一眼, 這家伙懷里不就抱著我正在等的 某導(dǎo)演的鎖嘛?
很明顯, 0x7954 也發(fā)現(xiàn)了我正抱著他正在等待的鎖。

很快我們兩個就吵了起來, 互不相讓:

“把你的鎖先給我, 讓我先做完”
“不行, 從來都是做完工作才釋放鎖, 現(xiàn)在絕對不能給你”

從爭吵到打起來, 就那么幾秒鐘的事兒。

更重要的是, 我們倆不僅僅持有這個著名導(dǎo)演和演員的鎖, 還有很多其他的鎖, 導(dǎo)致等待的線程越來越多, 圍觀的人們把屋子都擠滿了。

最后事情真的鬧大了, 我從來沒見過終極大boss “操作系統(tǒng)” 也來了。
大Boss畢竟是見多識廣, 他看了一眼, 哼了一聲 , 很不屑的說:

“又出現(xiàn)死鎖了”
“你們倆要Kill掉一個, 來吧, 過來抽簽 “

這一下子把我給嚇尿了, 這么嚴(yán)重啊!
我戰(zhàn)戰(zhàn)兢兢的抽了簽,打開一看, 是個”活”字。
唉,小命終于保住了。

可憐的0x7954 被迫交出了所有的資源以后, 很不幸的被kill掉, 消失了。

我拿到了導(dǎo)演的鎖, 可以開始干活了。

大Boss操作系統(tǒng)如一陣風(fēng)似的消失了, 身后只傳來他的聲音:

記住, 我們這里導(dǎo)演>演員, 無論認(rèn)識情況都要先獲得導(dǎo)演的鎖
由于不僅僅是只有導(dǎo)演和演員, 還有很多其他人, Boss留下了一個表格, 里邊是個算法, 用來計算資源的大小, 計算出來以后,永遠(yuǎn)按照從大到小的方式來獲得鎖:

我回到線程池, 大家都知道了我的歷險, 圍著我問個不停。
兇神惡煞的線程調(diào)度員把大Boss的算法貼到了墻上。

每天早上, 我們都得像無節(jié)操的房屋中介, 美容美發(fā)店的服務(wù)員一樣, 站在門口,像被耍猴一樣大聲背誦:

“多個資源加鎖要牢記, 一定要按Boss的算法比大小, 然后從最大的開始加鎖”


又過了很多天, 我和其他線程們發(fā)現(xiàn)了一個奇怪的事情:包裹的處理越來越簡單

不管任何包裹,不管是登錄, 瀏覽,存錢….. 處理的步驟都是一樣的, 返回一個固定的html頁面

有一次我偷偷的看了一眼, 上面寫著:

“本系統(tǒng)將于今晚 00:00 至4:00 進(jìn)行維護(hù)升級, 給你帶來的不便我們深感抱歉”
我去告訴了老線程0x6904, 他嘆了一口氣說:

“唉, 我們的生命也到頭了, 看來馬上就要重啟系統(tǒng), 我們就要消失了, 再見吧兄弟。”

系統(tǒng)重啟的那一刻終于到來了。 
我看到屋子里的東西一個個的不見了, 等待車間,就緒車間,甚至CPU車間都慢慢的消失了。
我身邊的線程兄弟也越來越少, 最后只剩我自己了。
我在空曠的原野上大喊: 還有人嗎?
無人應(yīng)答。
我們這一代線程池完成了使命。
下一代線程池將很快重生。
(完)

總結(jié)

以上是生活随笔為你收集整理的我是一个线程(转载自: IBM刘欣)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕欧美另类精品亚洲 | 91免费黄色| 爱色成人网| 日韩福利影院 | 久草热在线观看 | 成年人的黄色片 | 国产免费黄色网址 | 亚洲天堂色图 | 午夜不卡在线观看 | 被黑人猛躁10次高潮视频 | 一区二区三区在线免费播放 | 国产欧美日韩综合精品一区二区三区 | 欧美爱爱一区二区 | 九九综合久久 | √天堂中文官网8在线 | 色综合久久88色综合天天免费 | 精品久久久久久一区二区里番 | 国产精品久久久久久亚洲毛片 | 麻豆天天躁天天揉揉av | 在线精品视频免费观看 | 欧美久久久久久久久中文字幕 | bt天堂av| 日韩精品在线观看一区二区三区 | 色妞干网 | 秋霞福利网 | 国产伦精品一区二区三区视频我 | 中文字幕日韩在线播放 | 成人做爰黄 | 日日操夜夜操天天操 | 亚洲精品久久久久久动漫器材一区 | 欧美亚洲丝袜 | 黄色国产一级片 | 国产伦精品一区二区三 | 成人免费毛片观看 | 黑人巨大精品欧美一区二区免费 | 男人天堂2021 | 性欧美色图 | 日韩欧美国产综合 | 国产欧美激情视频 | 日韩av一区二区三区在线观看 | 五月天激情综合网 | 亚洲无线观看 | 九草在线| 天天躁夜夜躁狠狠躁 | 中文字幕av久久爽 | 国产精品揄拍一区二区 | 你懂的在线观看网站 | 五月天丁香婷 | 视频二区在线 | 香蕉传媒 | 91网站在线播放 | 一区二区 亚洲 | av在线播放器| 国产3p精品一区 | 制服丝袜一区在线 | 欧美特级特黄aaaaaa在线看 | 美女黄色一级片 | 婷婷六月在线 | 影音先锋在线观看视频 | 精品色图 | 欧美激情动态图 | 国产激情av一区二区三区 | 日本aaa级片| 在线看片一区二区 | 午夜伦情| 最近中文字幕在线观看 | 中文字幕永久在线播放 | 狠狠干天天色 | 午夜亚洲AV永久无码精品蜜芽 | 精品人妻一区二区三区视频 | 美女视频黄是免费 | 99视频在线 | 久久伊人色 | 手机看片一区二区 | 无码人妻精品一区二区 | 97caocao| 久章草影院 | 午夜网站在线观看 | 国产肥白大熟妇bbbb视频 | 黄色av高清 | 黄色片视频在线观看 | 福利姬在线播放 | 男人私人影院 | 黄色一级在线 | brazzers欧美极品少妇 | 国产欧美123 | 日韩成人一区二区视频 | 黄色91免费观看 | 一极黄色大片 | 欧美午夜精品一区 | 日本乱偷人妻中文字幕在线 | 国产精品久久国产精麻豆96堂 | 成年男女免费视频 | 天降女子在线观看 | 中文字幕av一区 | 国模私拍xvideos私拍 | 欧美中文字幕在线播放 | 国产综合精品 | 巨乳女教师的诱惑 |