錦州市廣廈電腦維修|上門(mén)維修電腦|上門(mén)做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁(yè)
topFlag3 收藏本站
 
maojin003 首 頁(yè) 公司介紹 服務(wù)項(xiàng)目 服務(wù)報(bào)價(jià) 維修流程 IT外包服務(wù) 服務(wù)器維護(hù) 技術(shù)文章 常見(jiàn)故障
錦州市廣廈電腦維修|上門(mén)維修電腦|上門(mén)做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù)技術(shù)文章
我一出生就被編了個(gè)號(hào),我是一個(gè)線程

作者: IBM劉欣  日期:2018-06-15 07:34:15   來(lái)源: 本站整理

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

  我身邊的同伴0x6900待的時(shí)間比較長(zhǎng), 他帶著滄桑的口氣對(duì)我說(shuō):

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

  我一臉懵懂,包裹,什么包裹?

  “不要著急,馬上你就會(huì)明白了, 我們這里是不養(yǎng)閑人的。”

  果然,沒(méi)多久,屋子的門(mén)開(kāi)了, 一個(gè)面貌兇惡的家伙吼道:

  “0x3704 ,出來(lái)!”

  我一出來(lái)就被塞了一個(gè)沉甸甸的包裹,上面還有附帶著一個(gè)寫(xiě)滿了操作步驟的紙。

  “快去,把這個(gè)包裹處理了。”

  “去哪兒處理?”

  “跟著指示走, 先到就緒車間”

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

  我剛一進(jìn)來(lái),就聽(tīng)見(jiàn)廣播說(shuō):“0x3704,進(jìn)入車間”

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

  ”他太幸運(yùn)了, 剛進(jìn)入就緒狀態(tài)就能運(yùn)行”

  “是不是有關(guān)系?”

  “不是,你看人家的優(yōu)先級(jí)多高啊, 唉~”

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

  這里空間大,視野好,空氣清新,鳥(niǎo)語(yǔ)花香,還有很多從來(lái)沒(méi)見(jiàn)過(guò)的人,像服務(wù)員一樣等著為我服務(wù)。

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

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

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

  打開(kāi)包裹, 里邊有個(gè)HttpRequest對(duì)象,可以取到userName, password兩個(gè)參數(shù)。

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

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

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

  就在這時(shí),車間里的廣播響了: 

  “0x3704,我是CPU,記住你正在執(zhí)行的步驟,馬上帶包裹離開(kāi)”

  我慢騰騰的開(kāi)始收拾。。。

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

  離開(kāi)這個(gè)車間, 又來(lái)到一個(gè)大屋子,這里很多線程慢騰騰的在喝茶,打牌。

  “哥們,你們沒(méi)事干了?”

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

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

  “放心,你沒(méi)聽(tīng)說(shuō)過(guò)人間一天,CPU一年嗎, 我們這里是用納秒,毫秒計(jì)時(shí)的,人間等待一秒,相當(dāng)于我們好幾天呢,來(lái)的及”

  干脆睡一會(huì)吧 , 不知道過(guò)了多久 ,大喇叭又開(kāi)始廣播了:

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

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

  后面?zhèn)鱽?lái)陣陣哄笑聲:

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

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

  在等待的時(shí)候, 我聽(tīng)見(jiàn)有人小聲議論:

  “聽(tīng)說(shuō)了嗎,最近有個(gè)線程被kill掉了”

  “為啥啊?”

  “這家伙賴在CPU車間不走,把CPU利用率一直搞成100%,后來(lái)就被kill掉了”

  “Kill掉以后弄哪兒去了”

  “可能被垃圾回收了吧”

  我心里打了個(gè)寒噤 , 趕緊接著處理,收下的動(dòng)作塊多了,第二步登錄成功了。

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

  這一步有點(diǎn)費(fèi)時(shí)間, 因?yàn)橛泻芏郒TML需要處理, 不知道代碼誰(shuí)寫(xiě)的,處理起來(lái)很煩人。

  我正在緊張的制作HTM呢, CPU有開(kāi)始叫了:

  “0x3704,我是CPU,記住你正在執(zhí)行的步驟,馬上帶包裹離開(kāi)”

  “為啥啊”

  “每個(gè)線程只能在CPU上運(yùn)行一段時(shí)間,到了時(shí)間就得讓別人用了,你去就緒車間待著, 等著叫你吧”

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

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

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

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

  不過(guò)相對(duì)于有些線程, 我還是幸運(yùn)的, 他們運(yùn)行完以后就徹底的銷毀了,而我還活著!

  回到了小黑屋, 老線程0x6900問(wèn):

  “怎么樣?第一天有什么感覺(jué)?”

  “我們的世界規(guī)則很復(fù)雜,首先你不知道什么時(shí)候會(huì)被挑中執(zhí)行;第二,在執(zhí)行的過(guò)程中隨時(shí)可能被打斷,讓出CPU車間;第三,一旦出現(xiàn)硬盤(pán),數(shù)據(jù)庫(kù)這樣耗時(shí)的操作也得讓出CPU,去等待;第四,就是數(shù)據(jù)來(lái)了,你也不一定馬上執(zhí)行,還得等著CPU挑選”

  “小伙子理解的不錯(cuò)啊”

  “我不明白為什么很多線程都執(zhí)行完就死了, 為什么咱們還活著?”

  “你還不知道,長(zhǎng)生不老是我們的特權(quán),我們這里有個(gè)正式的名稱,叫做線程池!”

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

  有一天我回來(lái)的時(shí)候,聽(tīng)到有個(gè)兄弟說(shuō),今天要好好休息下,明天就是最瘋狂的一天。

  我看了一眼日歷,明天是 11月11號(hào)。

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

  我們也沒(méi)有辦法,實(shí)在是太多太多了,這些包裹中大部分都是瀏覽頁(yè)面,下訂單,買,買,買。

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

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

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

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

  我問(wèn)線程池的元老0x6900:“我們要工作到什么時(shí)候?”

  “要一直等到系統(tǒng)重啟的那一刻”,0x6900說(shuō)。

  “那你經(jīng)歷過(guò)系統(tǒng)重啟嗎?”

  “怎么可能?系統(tǒng)重啟就是我們的死亡時(shí)刻, 也就是世界末日,一旦重啟,整個(gè)線程池全部銷毀,時(shí)間和空間全部消失,一切從頭再來(lái)”

  “那什么時(shí)候會(huì)重啟?”

  “這就不好說(shuō)了,好好享受眼前的生活吧.....”

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

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

  我說(shuō)怪不得后來(lái)的登錄操作快了那么多, 原來(lái)是不再?gòu)臄?shù)據(jù)庫(kù)取數(shù)據(jù)了你那里就有啊,哎,對(duì)了,你是分布式的,你去過(guò)別的機(jī)器沒(méi)有?

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

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

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

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

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

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

  生活就是這樣,如果你自己不找點(diǎn)樂(lè)子,還有什么意思?

  有一天我遇到一個(gè)可怕的事情, 差一點(diǎn)死在外邊,回不了線程池了......

  其實(shí)這次遇險(xiǎn)我應(yīng)該能夠預(yù)想到才對(duì), 太大意了。

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

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

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

  1、沒(méi)有加鎖的情況

  2、加鎖的情況

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

  從此以后看到存款,取款的包裹就倍加小心,還好,沒(méi)有出過(guò)事故。

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

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

  可我萬(wàn)萬(wàn)沒(méi)想到的是,還有一個(gè)線程,對(duì),就是0x7954,竟然同時(shí)在從這個(gè)導(dǎo)演到往這個(gè)演員轉(zhuǎn)賬。

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

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

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

  “哥們,我看你已經(jīng)喝了8杯咖啡了,怎么還不去干活?”

  “你不喝了9杯茶了嗎?” 0x7954 回敬到。

  “我在等一個(gè)鎖, 不知道哪個(gè)孫子一直不釋放”

  “我也在等鎖啊,我要是知道哪個(gè)孫子不釋放鎖我非揍死他不可 ” 0x7954 毫不示弱。

  我偷偷的看了一眼,這家伙懷里不就抱著我正在等的某導(dǎo)演的鎖嘛?

  很明顯,0x7954也發(fā)現(xiàn)了我正抱著他正在等待的鎖。

  很快我們兩個(gè)就吵了起來(lái),互不相讓:

  “把你的鎖先給我,讓我先做完”

  “不行,從來(lái)都是做完工作才釋放鎖,現(xiàn)在絕對(duì)不能給你”

  從爭(zhēng)吵到打起來(lái),就那么幾秒鐘的事兒。

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

  最后事情真的鬧大了,我從來(lái)沒(méi)見(jiàn)過(guò)的終極大Boss“操作系統(tǒng)”也來(lái)了。

  大Boss畢竟是見(jiàn)多識(shí)廣,他看了一眼,哼了一聲,很不屑的說(shuō):

  “又出現(xiàn)死鎖了”

  “你們倆要Kill掉一個(gè), 來(lái)吧,過(guò)來(lái)抽簽”

  這一下子把我給嚇尿了,這么嚴(yán)重啊!

  我戰(zhàn)戰(zhàn)兢兢的抽了簽,打開(kāi)一看,是個(gè)"活"字。

  唉,小命終于保住了。

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

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

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

  “記住, 我們這里導(dǎo)演>演員,無(wú)論認(rèn)識(shí)情況都要先獲得導(dǎo)演的鎖”

  由于不僅僅是只有導(dǎo)演和演員,還有很多其他人,Boss留下了一個(gè)表格,里邊是個(gè)算法,用來(lái)計(jì)算資源的大小,計(jì)算出來(lái)以后,永遠(yuǎn)按照從大到小的方式來(lái)獲得鎖:

  我回到線程池,大家都知道了我的歷險(xiǎn),圍著我問(wèn)個(gè)不停。

  兇神惡煞的線程調(diào)度員把大Boss的算法貼到了墻上。

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

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

  又過(guò)了很多天,我和其他線程們發(fā)現(xiàn)了一個(gè)奇怪的事情:包裹的處理越來(lái)越簡(jiǎn)單。不管任何包裹,不管是登錄, 瀏覽,存錢..... 處理的步驟都是一樣的,返回一個(gè)固定的html頁(yè)面。

  有一次我偷偷的看了一眼,上面寫(xiě)著:

  “本系統(tǒng)將于今晚 00:00 至 4:00 進(jìn)行維護(hù)升級(jí), 給你帶來(lái)的不便我們深感抱歉”

  我去告訴了老線程0x6904,他嘆了一口氣說(shuō):

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

  系統(tǒng)重啟的那一刻終于到來(lái)了。 

  我看到屋子里的東西一個(gè)個(gè)的不見(jiàn)了,等待車間,就緒車間,甚至CPU車間都慢慢的消失了。

  我身邊的線程兄弟也越來(lái)越少,最后只剩我自己了。

  我在空曠的原野上大喊:還有人嗎?

  無(wú)人應(yīng)答。

  我們這一代線程池完成了使命。

  下一代線程池將很快重生。



熱門(mén)文章
  • 機(jī)械革命S1 PRO-02 開(kāi)機(jī)不顯示 黑...
  • 聯(lián)想ThinkPad NM-C641上電掉電點(diǎn)不...
  • 三星一體激光打印機(jī)SCX-4521F維修...
  • 通過(guò)串口命令查看EMMC擦寫(xiě)次數(shù)和判...
  • IIS 8 開(kāi)啟 GZIP壓縮來(lái)減少網(wǎng)絡(luò)請(qǐng)求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對(duì)講門(mén)禁讀卡異常維修,讀卡芯...
  • 新款海信電視機(jī)始終停留在開(kāi)機(jī)界面...
  • 常見(jiàn)打印機(jī)清零步驟
  • 安裝驅(qū)動(dòng)時(shí)提示不包含數(shù)字簽名的解...
  • 共享打印機(jī)需要密碼的解決方法
  • 圖解Windows 7系統(tǒng)快速共享打印機(jī)的...
  • 錦州廣廈電腦上門(mén)維修

    報(bào)修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號(hào):遼ICP備2023002984號(hào)-1
    上門(mén)服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護(hù),上門(mén)維修電腦,黑屏藍(lán)屏死機(jī)故障排除,無(wú)線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復(fù),密碼破解,光盤(pán)刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    主站蜘蛛池模板: 狠狠噜天天噜日日噜无码| 亚洲a∨无码一区二区| 人妻丰满熟妇无码区免费| 国产在线无码精品无码| 国产强伦姧在线观看无码| 中文字幕人妻无码专区| 亚洲精品无码久久毛片波多野吉衣 | 亚洲性无码av在线| 无码人妻H动漫中文字幕| 久久人妻无码中文字幕| 亚洲AV无码一区二三区| 亚洲中文字幕久久精品无码VA| 亚洲精品无码久久久久| 免费VA在线观看无码| 成人免费无码视频在线网站| 日韩精品无码免费专区网站| 亚洲国产成人精品无码区花野真一 | 日韩精品久久无码人妻中文字幕| 免费无码国产在线观国内自拍中文字幕| 无码一区二区三区| 亚洲中文字幕久久精品无码喷水| 亚洲中文字幕久久无码| 无码日韩精品一区二区三区免费| 潮喷失禁大喷水aⅴ无码| 国产精品无码亚洲一区二区三区| av潮喷大喷水系列无码| 无码视频一区二区三区在线观看| 亚洲中文字幕无码专区| 日韩AV无码一区二区三区不卡| 直接看的成人无码视频网站| 无码精品人妻一区二区三区中| 精品无码人妻一区二区三区| 国产AV一区二区三区无码野战| 色综合久久无码中文字幕| 日韩人妻无码一区二区三区| 中文字幕无码不卡在线| 亚洲av无码天堂一区二区三区| 无码AⅤ精品一区二区三区| 无码中文字幕色专区| JLZZJLZZ亚洲乱熟无码| 中文字幕无码精品亚洲资源网|