`
RednaxelaFX
  • 浏览: 3014898 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

做菜与洗碗

阅读更多
今天晚饭,老婆连着用了4个锅来做了两菜一汤。好吃
其中一道菜用了1个锅,另一道菜用了3个锅,汤用了2个锅。
还有中间工序放临时状态的食材用的大小碗碟若干。

嗯⋯嗯?但是总共只有4个锅诶。
于是做菜的过程中我也洗了几次碗。

突然想起了什么⋯
老婆做菜跟我洗碗的关系,就是mutator与collector的关系!

老婆作为mutator,做菜途中不断在切换工序的时候把中间状态的食材放到新的干净的锅/碗里。
锅/碗不够用的时候,老婆就调用了我,collector。

老婆跟我用粗粒度同步,大致是个stop-the-world collection。所以我洗碗的时候老婆就在一旁休息着。

我使用mark-compact算法,
(1) 找出所有要洗的锅碗瓢盆,
(2) 清洗它们,
(3) 想好要按什么顺序把它们放到架子上,
(4) 然后把它们放到架子上。

收集好之后,老婆恢复做菜流程,直到锅/碗再次用完⋯

今天状况有点特殊,老婆用锅用得特别快,我的洗碗速度有点跟不上。于是转入分代式收集模式:
更换速度快的锅/碗先洗,剩余的锅碗瓢盆先放一边。
终于又能跟上了~
分享到:
评论
9 楼 u010603407 2016-12-06  
  
8 楼 wujunyi911622 2016-05-04  
撒迦:这篇太生动了,通俗易懂
7 楼 价值热提供 2015-11-23  
程序员的命啊。。。。。。。。。。
6 楼 mengfei1001 2015-03-31  
哈哈哈  
5 楼 njcxy 2015-03-16  
还是大枢牛!
4 楼 lilrain 2015-02-03  
R大, 要不要这样, 有天赋的人都如此, 让我情何以堪, 看书去.....
3 楼 fh63045 2015-01-12  
吃个饭也往这方面想....不至于吧,  不过还是蛮有意思的
2 楼 chainhou 2014-12-25  
哈哈,R大幽默!
引用
更换速度快的锅/碗先洗,剩余的锅碗瓢盆先放一边。
是指哪些锅用的次数多就先洗吧!
留心处处皆学问,学习了!
1 楼 喻红叶 2014-12-21  
最后分代收集模式跟G1的思想有相通之处吗?

相关推荐

Global site tag (gtag.js) - Google Analytics