做菜与洗碗

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

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

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

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

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

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

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

今天状况有点特殊,老婆用锅用得特别快,我的洗碗速度有点跟不上。于是转入分代式收集模式:
更换速度快的锅/碗先洗,剩余的锅碗瓢盆先放一边。
终于又能跟上了~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"1402做菜顺序"这个表述似乎不完整,可能是想问的是“如何使用贪心算法来确定最优的做菜顺序”。在烹饪或任务调度中,贪心算法可以用来优化步骤安排,通常是在每一步中选择当前看起来最好的或者最有利的选择,希望这些局部最优解最终汇聚成全局最优解。 举个例子,假设你有若干道菜需要准备,每道菜都有开始和结束时间,贪心算法的步骤可能如下: 1. **初始化**:收集所有菜品的信息,如开始时间(start_time)和结束时间(end_time)。 2. **排序**:按照结束时间升序排列菜品,因为你想尽快完成那些用时短的菜,以便腾出时间做其他菜品。 3. **选择**:从时间上最早的菜品开始,按照这个顺序依次做菜。 4. **贪心决策**:在每一步都选择剩余菜品中最早完成的那道。 **贪心证明**(如果这是你要的)通常是通过构造一个满足贪心策略的最优解,并证明无论初始状态如何,只要遵循这个策略,最终结果都是最优的。然而,贪心算法并不总是能得到全局最优解,比如某些情况下可能存在依赖关系(即一道菜必须在另一道菜完成后才能开始),这时就需要更复杂的策略,如动态规划。 如果你对特定的数学证明或者烹饪中的贪心算法应用有兴趣,可以提供更详细的问题,我会给出更精确的解释和证明方法。相关问题: 1. 你能具体描述一个烹饪场景下的贪心算法例子吗? 2. 如何证明这个做菜顺序是局部最优的? 3. 哪些情况下贪心算法的做菜顺序不是全局最优?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值