一.场景:
地点为网吧,时间为晚上7点,xxx游戏正在更新版本,要玩游戏需更新下载游戏(大概需要一个小时),此刻正是晚饭时间,大家都饿了;现在网民们要做的是下载游戏、吃饭,怎么安排更为合理呢。
二、方案:
1.心里装的都是游戏,根本没心情吃饭:
下载游戏,双眼定制进度条,不想干其他的,等看到下载完毕之后,才想去吃饭。
缺点:耽误吃饭。
知识点:同步阻塞。
2.目不转睛盯着电脑很累的,不想这样下去,但是也没心情吃饭:
游戏下载完毕,电脑会“叮”一声,当听到“叮”,才想去吃饭。
缺点:耽误吃饭。
优点:不用一直盯着电脑
知识点:异步阻塞
3.心里惦记着游戏,可是吃货们不能饿肚子啊:
下载游戏,同时吃饭,吃两口再看看电脑下载进度,直到下载完成。
缺点:不能专心吃饭,吃完饭都不知道自己吃的啥。
优点:不耽误吃饭了。
知识点:同步非阻塞。
4.上面的方案大家都接受不了,大家听说网管的主机可以监控所有电脑,要不找网管一个人代看下载进度如何(IO多路复用):
①期初,网吧规模小,只有10台电脑,网管的主机配置低,刚好能监控这10台电脑
网管的主机可以监控网吧所有电脑,大家可以放心 出去 吃饭了,当有电脑下载完成,网关就在主机上找(遍历),是哪一台电脑下载完成了,再通知对应网民。
缺点:电脑配置低,监控数量有限;网管比较累,还得找具体哪一台下载完毕。
优点:网民们可以优雅的吃饭了。
知识点:IO多路复用-select。
②网吧扩建,来上网的人多了,主机升级配置,可以监控更多台电脑
缺点:网管比较累,还是得找具体哪一台下载完毕。
优点:网民们可以优雅的吃饭了。
知识点:IO多路复用-poll。
③网管太累了,真的不想继续苟活
网管发愤图强,优化主机监控程序,当有电脑下载完成,主机弹框提示具体是那一台电脑下载完成。
优点:网管笑了
隐藏缺点:主机很忙,电脑太多,主机也扛不住
知识点:IO多路复用-epoll
原创不易,转发请标明出处,3Q。