博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
搬家与流式处理
阅读量:6218 次
发布时间:2019-06-21

本文共 931 字,大约阅读时间需要 3 分钟。

这两天搬家,身体很劳累,脑子算是没闲着。在把货物搬上楼的过程中,我琢磨了个自认为很高效的方法,本质和流式处理很像。

需求与尝试

一车货物,零零散散打了些包,停在楼下,需要搬到五楼去。劳力有三人。一开始的方案是每个人自己拿几样东西,自管自上楼去,再下楼来拿下一趟。搬了几趟后,有以下一些问题:

1. 搬运过程中,累的不是手臂,而是脚。光爬几次五楼,腿已经先受不了了。
2. 过程中为了方便,楼下车不锁,楼上门不关,这是潜在的一种风险因子。
3. 每个人在车上和楼上分别会花些时间整理货物,前者是为了携带,后者是为了摆放

流式方案

我给出的搬运方案其实也很简单,一个人负责把货物从车上运下来搬到一楼门口,另一个人负责把一楼的货物搬到三楼,另一个人负责把三楼的货物搬到五楼。实践了近二十次,效率比之前高很多,疲劳程度也有所减少。

分析

这个方案里有几个很明显的优势:

1. 一个人专门选择合适(体积和重量)的货物打包,后两人不必整顿零散的包裹
2. 每一个人搬运不超过两层,搬完后走下楼是一段喘息的时机,减缓爬楼梯的疲惫
3. 爬楼梯的人互相可以”照顾”,即爬五楼的如果动作快可以下到二楼去取货,爬三楼的有余力可以把货物放三楼半上让五楼的少走一段
4. 楼下车不用锁,一楼的人在更短时间内可以折返;楼上门不用关,五楼的人在很短时间内可以回去,并花部分时间整顿包裹
5. 有一个人不用爬楼梯,且三人不用走多余的趟次,从下往上顺序结束自己的任务

本质上这种搬运方式就是流水线,每个人各司其职,让每一堆货物从车搬上楼的延时最低,同时,把人看做计算资源的话,爬楼梯和下楼梯是两类处理任务,类似前半段是CPU密集型的,后半段CPU使用率不高,只有一些IO开销,所以人不会感觉太累。

这种方式还有几个别的优势。它有一种类似”背压”的机制:上层的人搬运的快慢可由下层的人感知,从而调节自身的搬运速度,从而影响整体延时。还有一点是计算单元之间存在控制消息:一个人告诉其他人”最后一趟了”或者”这趟好重”,其他人可以对应做出调节。最后一点,三个人的总体能是共享的:像我之前说的,搬得快的人可以为慢的人多分担一些楼梯步数,在每一趟货物的运输过程中互相帮助,整体的资源利用率可以达到比较优。

转载地址:http://pdvja.baihongyu.com/

你可能感兴趣的文章
ElasticSearch vs Solr多维度分析对比
查看>>
Metasploit的三种启动方式
查看>>
[EntLib]微软企业库5.0 学习之路——第六步、使用Validation模块进行服务器端数据验证...
查看>>
【转】c++中引用的全方位解读
查看>>
MapGuide Maestro 5.1发布了
查看>>
C#中string与byte[]的转换帮助类
查看>>
海量数据面试题
查看>>
XMOVE3.0手持终端——软件介绍(一):精简型嵌入式管理系统的菜单实现和任务切换...
查看>>
iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView
查看>>
Linux 僵尸进程
查看>>
ASP.NET Core 异常重试组件 Polly
查看>>
RabbitMQ~广播消息
查看>>
未能加载文件或程序集 ICSharpCode.SharpZipLib
查看>>
shellKali Linux Web 渗透测试— 初级教程(第三课)
查看>>
Examples of GoF Design Patterns(GOF提及的设计模式在java中的例子)
查看>>
【译】SQL Server误区30日谈-Day11-镜像在检测到故障后瞬间就能故障转移
查看>>
Docker Registry Server 搭建,配置免费HTTPS证书,及拥有权限认证、TLS 的私有仓库
查看>>
PostgreSQL在何处处理 sql查询之五十九
查看>>
大叔也说Xamarin~Android篇~原生登陆与WebView的网站如何共享Session
查看>>
.NET中zip的压缩和解压——SharpCompress
查看>>