首页 改造火星

字体:16+-

陪了潘辰4个小时,他终于悠悠醒转,在我的办公室里,一边揉着脑袋向我抱怨下手太重,一边喝着速溶咖啡,等待我的解释。

我端着咖啡罐和热水壶走到桌前坐下,时隔多年后,又一次开始了对学弟潘辰的教导。

“你看,我现在想要冲一杯咖啡,需要咖啡罐和水壶。如果我先拿到咖啡,”我伸手拿起咖啡,往杯子里放了两勺,“又拿到水壶,”我又将热水倒入杯中,“一杯咖啡就冲好了,任务完成了,对吧?”

潘辰点点头,不明所以地看着我。

我接着说道:“如果你也想冲一杯咖啡,你开始的比我晚,当我放下咖啡罐,你把它拿起来,我放下水壶,又被你拿到了,这样,我有了一杯咖啡,你也可以冲一杯咖啡,我们就完成了两项任务。”

这里的逻辑很简单,潘辰点头认可。

“那么问题来了,”我继续说,“如果我俩同时想冲一杯咖啡,我拿到了咖啡罐,”我拿起咖啡罐,又把水壶推到他面前,“而你拿到了水壶,我们都想尽快完成自己的任务,不愿放弃自己手头的资源,又都拿不到别人的资源,会怎么样?”

潘辰答道:“我俩会互相等待对方放手,但谁也不会放下自己的资源,所以,我们会无尽地等待下去。”

我赞许地点点头,道:“我的课讲完了,这就是死锁。”

潘辰的超级大脑立即搞明白了事情的来龙去脉,他分析道:“当几个工作需要同样的一样或几样资源,它们又各自占有一样资源不愿放弃,就形成了死锁。我工作时同时需要几样资源,左手握鼠标,右手敲键盘,眼睛看屏幕,大脑分析运算。当时,我用鼠标点击第一个页面,右手在第二个窗口打字,眼睛看着第三个窗口,大脑又在想着工作总结,四项工作各占一样资源互不相让,最终进入了死锁状态。”