一.場景:
地點爲網吧,時間爲晚上7點,xxx遊戲正在更新版本,要玩遊戲需更新下載遊戲(大概需要一個小時),此刻正是晚飯時間,大家都餓了;現在網民們要做的是下載遊戲、吃飯,怎麼安排更爲合理呢。
二、方案:
1.心裏裝的都是遊戲,根本沒心情吃飯:
下載遊戲,雙眼定製進度條,不想幹其他的,等看到下載完畢之後,纔想去吃飯。
缺點:耽誤吃飯。
知識點:同步阻塞。
2.目不轉睛盯着電腦很累的,不想這樣下去,但是也沒心情吃飯:
遊戲下載完畢,電腦會“叮”一聲,當聽到“叮”,纔想去吃飯。
缺點:耽誤吃飯。
優點:不用一直盯着電腦
知識點:異步阻塞
3.心裏惦記着遊戲,可是吃貨們不能餓肚子啊:
下載遊戲,同時吃飯,吃兩口再看看電腦下載進度,直到下載完成。
缺點:不能專心吃飯,吃完飯都不知道自己吃的啥。
優點:不耽誤吃飯了。
知識點:同步非阻塞。
4.上面的方案大家都接受不了,大家聽說網管的主機可以監控所有電腦,要不找網管一個人代看下載進度如何(IO多路複用):
①期初,網吧規模小,只有10臺電腦,網管的主機配置低,剛好能監控這10臺電腦
網管的主機可以監控網吧所有電腦,大家可以放心 出去 吃飯了,當有電腦下載完成,網關就在主機上找(遍歷),是哪一臺電腦下載完成了,再通知對應網民。
缺點:電腦配置低,監控數量有限;網管比較累,還得找具體哪一臺下載完畢。
優點:網民們可以優雅的吃飯了。
知識點:IO多路複用-select。
②網吧擴建,來上網的人多了,主機升級配置,可以監控更多臺電腦
缺點:網管比較累,還是得找具體哪一臺下載完畢。
優點:網民們可以優雅的吃飯了。
知識點:IO多路複用-poll。
③網管太累了,真的不想繼續苟活
網管發憤圖強,優化主機監控程序,當有電腦下載完成,主機彈框提示具體是那一臺電腦下載完成。
優點:網管笑了
隱藏缺點:主機很忙,電腦太多,主機也扛不住
知識點:IO多路複用-epoll
原創不易,轉發請標明出處,3Q。