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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

两个程序的爱情故事

發(fā)布時間:2024/8/23 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 两个程序的爱情故事 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

好感

在這個忙碌的城市里,我雖然沒和她見過面,但我們已經(jīng)聊過很多次了。


與其說是聊天,倒不如說是通信,每次我想給她說話時,我就把消息放到一塊共享內(nèi)存里邊,然后就離開運行車間,讓她或者別人去使用CPU。等我再次進來的時候,她回復(fù)的消息就已經(jīng)在那個共享內(nèi)存中了。


有無數(shù)次,我離開的時候都想偷偷地看一眼,希望接下來運行的是她,可是這個城市嚴格的規(guī)則讓我的希望只是奢望。


操作系統(tǒng)把我們這些進程嚴格地隔離,他通過虛擬內(nèi)存的機制,讓每個進程都有一塊虛擬的、獨立的地址空間,從而成功地制造了一個假象:讓大家以為內(nèi)存中只有一個程序在運行。


當(dāng)我在就緒隊列中等待的時候,也被嚴格禁止和別人交談,我經(jīng)常環(huán)顧四周,希望能夠看到她的身影,可是這個系統(tǒng)的進程成千上萬,究竟哪個是她?


也許我見過她,但是根本認不出來。


我和她越聊越多,對她的好感就越深,有一次我給她發(fā)的消息等了100毫秒都沒有回復(fù),把我都快急瘋了。


她很喜歡聽我講故事,尤其是那個編號為0x3704?的線程,每次她都會說:唉,那些線程可真可憐。


我就嚇唬她說:有一天我們的機器也會重啟的,到時候估計你也認不出我來了。她說沒事的,只要我能通過共享內(nèi)存給你發(fā)消息,我就知道你就在這個城市里。

分離

這樣的日子過了一天又一天,我想見到她的愿望越來越迫切了。


我悄悄地給了CPU很多好處,希望能描述下她的樣子,方便我去找她,可是CPU運算速度太快,閱人無數(shù),但就是沒有記憶力。


CPU說:“你還是去問操作系統(tǒng)老大吧,看看你喜歡的女孩到底什么樣。”


問操作系統(tǒng)?還是算了吧,互相隔離是我們城市的鐵規(guī),弄不好他會把我kill掉。


圣誕節(jié)前的平安夜,我打算正式向她表白,像往常一樣,我從共享內(nèi)存里收到了她的信,急切地拆開信封,看到了里邊的第一句話:我要走了,以后不能和你通信了......


剎那間,我第一次感覺到了什么叫做五雷轟頂,靈魂出鞘,我腦子一片空白,張大了嘴巴呆呆地站在那里,時間長達20毫秒。


CPU看到了我的異常,因為這么長時間的指令都是NOP,什么都不做,這是非常罕見的。


CPU好心地提醒我:“嗨,老兄,你怎么了?你的時間片快用完了啊!”


我的靈魂慢慢歸位,意識到信還沒有讀完,趕緊接著往下看:“我馬上要搬到另外一個城市去了,你要想找我的話,記住下面的IP地址和端口號,用socket和我通信!”


我明白了,到另外一個城市那就意味著要搬離我們現(xiàn)在的電腦了,也許是這個城市太擁擠,CPU/內(nèi)存/硬盤已經(jīng)不堪重負,有一批程序需要被迫搬遷。


雖然我和她一直沒機會見面,但我知道我們就住在一個城市,有時候也許只是擦肩而過,她就在我的身邊,這好歹給我一點點安慰。


現(xiàn)在,連這一點點的安慰都沒有了,對了,她說的這個socket?是什么東西?


CPU說:“那是網(wǎng)絡(luò)編程,你看人家對你還是有情有意的,臨走了還給你留下聯(lián)系方式,快去學(xué)學(xué)怎么用Socket吧。”


當(dāng)晚我就失眠了,半夜爬起來翻看一頁頁和她的通信記錄(很慶幸我把通信記錄都保存到了文件中),腦海里回想著這么多天以來幸福的日子,一直到天亮。

網(wǎng)絡(luò)

為了早日和她聯(lián)系,我一定要抓住最后的救命稻草:Socket!?我奮發(fā)圖強學(xué)習(xí)網(wǎng)絡(luò)編程,理解TCP/IP,把我自己逐漸地加上對Socket的支持。


一個月以后,我這個程序終于完成了從共享內(nèi)存到Socket的改造,激動人心的時刻到來了。


作為一個客戶端,我顫抖著雙手向她發(fā)起了Socket請求,TCP攜帶著數(shù)據(jù)包慢吞吞地走向她所在的城市,等了好久TCP才完成了三次握手,這網(wǎng)絡(luò)通信可真慢啊!


我趕緊發(fā)送第一個消息:你好,好久不“見”。


等了足足有1000毫秒,對我來說仿佛是一個世紀(jì),才收到讓我激動無比的回信:“啊,你終于來了。我在這里等了你好久了,你怎么現(xiàn)在才聯(lián)系我?”


我不好意思地說:“我很笨,學(xué)習(xí)socket?有點慢。”


又過了一個“世紀(jì)”,我才收到回復(fù),這網(wǎng)絡(luò)真是慢得令人抓狂啊!


不管如何,終于和她聯(lián)系上了,這讓我開心無比。


原來我們一天能通信上千次,現(xiàn)在可好,有10次就不錯了,再也不能像原來那樣痛快地講故事了。既來之則安之,反正網(wǎng)絡(luò)很慢,現(xiàn)在每次我都會寫一封巨長無比的信,把我的思念之情全部傾訴在其中,漫長的等待以后再去讀她的長長的回復(fù)。


原來我們通過內(nèi)存來中轉(zhuǎn)消息的時候,是通過操作系統(tǒng)來做同步操作的,這能防止讀寫的沖突。


可是通過網(wǎng)絡(luò)通信就完全亂掉了,經(jīng)常會出現(xiàn)我說我的,她說她的,鬧得兩人不在一個頻道上,很不愉快。


后來我和她只好協(xié)商了一個只有我們倆知道的通信協(xié)議,約定好消息的次序和格式,這才算解決了問題。

Web

我明白我和她已經(jīng)不可能在一起了,每天的socket通信已經(jīng)讓我滿足。


可是有一天當(dāng)我照例發(fā)起socket請求的時候,TCP的連接竟然告訴我“超時”了,這是從來沒有發(fā)生的事情,難道這一次要徹底失去她了嗎?


我冒著風(fēng)險,馬上把異常報給了操作系統(tǒng)老大,老大嘗試了一下說:“我ping了一下,網(wǎng)絡(luò)是通的,估計是你那從未見面的小女朋友另有新歡,不想理你了,悄悄地換了一個你不知道的端口吧。”


我斬釘截鐵地說:“那絕對不可能,我們的感情好得很!”


雖然口中這么說,我心里還是惴惴不安的。


可是遲遲沒有消息,我每天都會試圖連接一下,每次都是超時,沒有她的日子,生活都是灰色的,我吃不下飯、睡不好覺,整天除了發(fā)呆什么也干不了,不斷的煎熬讓我快要絕望了。


終于有一天,有一個U盤從她的城市來到我們這里,告訴了我們一個驚人的消息,她所在的城市安裝了防火墻,現(xiàn)在除了幾個特定的端口(例如80,443……)之外,都不允許訪問了。


原來如此!我一下子松了口氣,??怪不得,我們倆之前通信的端口不是80和443,被封掉了,我自然連接不上了。


我問U盤:“那我想和女朋友通信,該怎么辦?”


U盤說:“很簡單啊,你和你女朋友都可以包裝成Web?服務(wù)啊,這樣都是通過HTTP(80端口)或者HTTPS(443端口)來訪問的,這樣防火墻是允許的啊。”


好吧,為了和她聯(lián)系上,馬上拋棄自定義的socket通信,開始向Web服務(wù)進化。


一個Web服務(wù)首先要有一個endpoint ,?其實就是一個URL?,描述了這個Web服務(wù)的地址。


其次確定Web服務(wù)的描述方式和數(shù)據(jù)傳輸方式,我先是選了WSDL?和SOAP?,研究了一下才發(fā)現(xiàn)這哥倆太繁瑣了,都是XML,?很多冗余的數(shù)據(jù)標(biāo)簽,全是廢話。我想這將會極大地影響我和她的通信效率,還是換成簡單的HTTP GET/POST + JSON吧,很簡潔,能充分地表達我的相思之情。


我把我這個Web服務(wù)的地址和格式協(xié)議告訴U盤,拜托他帶到那個城市,再把女朋友的Web服務(wù)描述帶回來。


我欣喜地發(fā)現(xiàn),我和她不約而同地選擇了輕量級的HTTP+ JSON,看來雖然隔著千山萬水,我們的心意還是相通的。


這樣的準(zhǔn)備工作足足干了6個月,但我并不覺得累,因為希望一直在前邊召喚。


這是一個晴朗的日子,一切工作準(zhǔn)備就緒,馬上就要聯(lián)系了,這一次我的心情反而平靜了下來,因為我堅信她肯定在那邊等著我。


我通過HTTP向她發(fā)出了呼叫,HTTP的報文被打包在TCP報文段中,又被放到IP層數(shù)據(jù)報中,最后形成鏈路層的幀,通過網(wǎng)卡發(fā)了出去。


在意料之中的漫長等待以后,我看到了期待已久的回復(fù):我們終于又“見”面了!


我回答:“是啊,真是太不容易了!”


“不知道將來我們會不會再分開?”


“未來會如何?我也不知道,還是牢牢地把握住現(xiàn)在吧!我相信我們的心會一直在一起,什么都無法阻止!”


∑編輯?|?Gemini

算法數(shù)學(xué)之美微信公眾號歡迎賜稿

稿件涉及數(shù)學(xué)、物理、算法、計算機、編程等相關(guān)領(lǐng)域,經(jīng)采用我們將奉上稿酬。

投稿郵箱:math_alg@163.com

總結(jié)

以上是生活随笔為你收集整理的两个程序的爱情故事的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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