搬家与流式处理

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

需求与尝试

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

1. 搬运过程中,累的不是手臂,而是脚。光爬几次五楼,腿已经先受不了了。

2. 过程中为了方便,楼下车不锁,楼上门不关,这是潜在的一种风险因子。

3. 每个人在车上和楼上分别会花些时间整理货物,前者是为了携带,后者是为了摆放

流式方案

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

分析

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

1. 一个人专门选择合适(体积和重量)的货物打包,后两人不必整顿零散的包裹

2. 每一个人搬运不超过两层,搬完后走下楼是一段喘息的时机,减缓爬楼梯的疲惫

3. 爬楼梯的人互相可以”照顾”,即爬五楼的如果动作快可以下到二楼去取货,爬三楼的有余力可以把货物放三楼半上让五楼的少走一段

4. 楼下车不用锁,一楼的人在更短时间内可以折返;楼上门不用关,五楼的人在很短时间内可以回去,并花部分时间整顿包裹

5. 有一个人不用爬楼梯,且三人不用走多余的趟次,从下往上顺序结束自己的任务

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

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

时间: 2024-10-16 03:32:18

搬家与流式处理的相关文章

含有过滤功能的android流式布局

FilterFlowLayout 含有过滤功能的流式布局, 参考FlowLayout 可以去除宽度不在范围(比例或真实值)内的子view 可以设置最大行数 可以添加组件间水平间距 可以添加行间距 系统要求 Android 4.0以上 快速使用 <me.codeboy.android.lib.FilterFlowLayout xmlns:cb="http://schemas.android.com/apk/res-auto" android:id="@+id/filter

Calcite中的流式SQL

Calcite中的流式SQL Calcite中的流式SQL总体设计思路 总体语法应该兼容SQL,这个是和目前流处理SQL的发展趋势是一致的. 如果部分功能标准SQL中没有包含,则尽量采用业界标杆(Oracle).比如模式匹配的功能,目前流处理中还没有针对语法达成共识,那么在设计上,就采用Oracle data warehouse的Match Recognize的方式.还有滑窗功能. 如果还有功能目前业界标杆都没有,那么就通过函数的方式拓展,翻滚窗口和跳动窗口,这两个窗口在标准SQL中都是不包含的

静态、自适应、流式、响应式四种网页布局有什么区别?

响应式与自适应的原理是相似的,都是检测设备,根据不同的设备采用不同的css,而且css都是采用的百分比的,而不是固定的宽度. 不同点是响应式的模板 在不同的设备上看上去是不一样的,会随着设备的改变而改变展示样式. 而自适应不会,所有的设备看起来都是一套的模板,不过是长度或者图片变小了,不会根据设备采用不同的展示样式. 流式就是采用了一些设置,当宽度大于多少时怎么展示,小于多少时怎么展示,而且展示的方式向水流一样,一部分一部分的加载. 静态的就是采用固定宽度的了.

Android自定义之流式布局

流式布局,好处就是父类布局可以自动的判断子孩子是不是需要换行,什么时候需要换行,可以做到网页版的标签的效果.今天就是简单的做了自定义的流式布局. 具体效果: 原理: 其实很简单,Measure  Layout.只需要这两个步骤就可以搞定了.完全的手动去Measure  Layout. 我们看一下代码. 解释就在代码里面做注释了,因为使用为知笔记写的博客,格式不符合代码格式.大家可以看具体的源码.最后又源码下载地址. 1.Measure  测量 @Override protected void o

GUI布局:边界布局、流式布局、网格布局、卡片布局

边界布局 package guiTest; //JFrame默认的是边界布局BorderLayout import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; public class BorderLayoutDemo { public static void main(String[] args) { JFrame f = new JFrame("边界布局BorderLayout&q

c# winform panel 流式布局 panel块可自动排列

代码下载地址  http://download.csdn.net/detail/simadi/7677053 c# winform panel 流式布局 panel块可自动排列,布布扣,bubuko.com

css3流式布局

css3布局方式: 不推荐使用float,有时候使用浮动的时候,对于可适应的流氏布局,无法胜任. 推荐使用css3的display:webkit-box. 使用的html代码 <div class="warp"> <div class="one"> </div> <div class="two"></div> <div class="three"><

支持文件的流式压缩/解压IP*Works! Zip

IP*Works! Zip是为应用程序添加压缩功能的完全可控件组件包.使用简单.速度快并且效率很高,是一个为桌面和网上应用程序添加压缩和解压缩功能的组件套包./n software IP*Works! Zip支持Zip.Tar.Gzip 和 Jar压缩标准,特别的,它支持流式压缩.加密压缩,在压缩包里就可以直接删除文件.我们目前提供完全可控的纯C# .NET组件.纯Java Beans. 产品特征: IP*Works! Zip基于纯C#代码,是完全可控的.NET组件,不依赖于任何外部代码.是完全

静态布局、自适应布局、流式布局、响应式布局、弹性布局简析

近期学习,有很多感想,有时候看似相近的概念,其实意义却不相同.所以学习要针对不同的名词有明确的区分意识. 抽空时间,打算学习下display:flex;本以为就是一个小小的知识点,正式去研究的时候,才发现display:flex;有很多内容,能实现很多效果.比如三栏布局(左右两栏固定,中间栏自适应),圣杯布局. 后来想着经常听到流式布局,自适应布局,响应式布局,他们有什么区别呢,就去搜了许多内容查看,才发现每种布局都有优缺点和不同使用场景. 静态布局:给页面元素设置固定的宽度和高度,单位用px,