程式設計與生活

2021-07-11 04:52:35 字數 1032 閱讀 8034

程式設計中很多優秀思想或者模式與生活中點點滴滴的事情都有著很高的相似度,如***和生活中過馬路的紅綠燈或者語音播報等。個人覺得在學習程式設計思想或者模式時如果能和生活相互比較印證,本文就以生活中的排隊為題**下程式設計裡的佇列。

一,排隊方式   

相信大家都有過排隊的經歷,買火車票、去銀行辦理業務、去銀行看病等等,如果人少還好,很快就會到自己,如果黑壓壓一片人,那真是望穿秋水不可得。在大大小小各種不同的排隊經歷中,我們也會發現不同的排隊方式,以我個人經歷來說,大致上分如下兩種排隊方式。

1、每個視窗對應乙個隊伍

2、所有視窗對應乙個隊伍

生活中,這兩種排隊方式並沒有特定的場景,任何排隊場景都可用。從個人角度,更傾向第二種排隊方式。原因很簡單,第一種方式會因為各視窗處理速度不同等因素,導致等待時間不同,會產生一種等待時間上的不均衡,而第二種方式就很直觀的平衡了等待時間,各視窗處理速度的快慢對所有排隊的人影響相同。然而,實際中受限於場地等問題,第二種方式更少見,比如去火車站排隊買票,成百上千的人排成乙個隊伍,場面必然很混亂難管理。

在程式設計世界中,排隊的場景也很常見,比如訂單處理等等,程式設計中由於不太受限場地(空間)等,而又希望對佇列統一管理,所以更多的是使用第二種方式。一般來說,只要處理好佇列元素的共享問題就可以了。

二、排隊的高階

無論生活還是程式設計中,排隊都意味著需要時間去等待,如果處於高峰期,那麼等待時間就會更長,而且等待時,又不能離開隊伍去處理別的事情。所以出現一些優秀的解決辦法。比如生活中,去餐館吃飯,買單後,餐館會給顧客乙個牌子,顧客找乙個座位等著,餐館做好了會自動送來。程式設計中比如使用觀察者模式或者future模式就無需一直等待,可以繼續處理別的。程式設計中更高階一點的處理就是訊息平台的使用了,如jms、activemq等,只需傳送乙個訊息即可。

三、結束

學習時偶發感想,隨手寫了一下,如有不對,請輕拍

幸福生活與快樂生活

自己有份穩定的工作,收入一般即可 有個溫柔賢惠的妻子,心理相互理解,在生活方面和和睦睦 在工作方面相互鼓勵。關鍵是每天快樂,不壓抑 不鬱 悶 不難受 感覺回家是一種享受。父母身體健康,生活妥當。孩子乖巧聽話,關鍵是健健康康。有自己的家 自己買了房子,有條件的話和父母一起住 生活中有幾個知心的朋友,比...

生活與工作

很早就想找個真正能自我發洩的地方了,這段時間來過得很不好,應該說是很糟糕.人活著就是為了更好的活著 這句話說出來都知道是什麼意思,也很多人把這樣的句子作為活著的真諦。話到嘴邊說出來很容易,做起來往往都會不近人意,生活的壓力使我們無法擺脫現實的枷鎖,在我們為實現自己一點點夢想而倍加努力的時候,上帝總會...

與生活博弈

重要概念 乙個人要取得成功,成就一番事業,就必須歷經千辛萬苦,戰勝艱難險阻,不斷地摸爬滾打,不斷地在與人 與生活的博弈中,磨鍊出堅強的意志和頑強的毅力。人生道路漫長而曲折,充滿艱辛與險惡。因此,與其在面對困難時怨天尤人,不如勇敢承擔,勇敢面對。精彩案例 兄弟倆的不同命運 在現實生活中,我們最大的博弈...