技术中的哲学(二)

        买的新书《深入理解Android内核设计思想》今天到货了,随意先翻了翻目录就瞥见了关于 进程间通信机制 和 进程/线程锁 相关的内容。这并不奇怪,毕竟 Android 的最底层是基于 Linux 内核。所以我打算写点关于死锁(Deadlock)的闲话。

        系统如果出现死锁,在没有外部作用的情况下,死锁涉及的各个进程将一直处于封锁状态无法正常工作。任何一个有经验的工程师都会在自己的设计中避免死锁情况的发生,或者即便发生了也一定会想办法找出诱因并将其解决。这在我们技术人员看来再正常不过,既是自身理性思维的惯性,也是对手头工作的负责。

        技术上的问题总会解决,生活中的死锁就让人无可奈何了。前几天看了一个小视频,讲的是一个人准备包饺子就去菜市场买葱,卖葱的人告诉他按照流程需要他先去买肉,再带上买肉的凭证过来才能买到葱。这个人大为光火,愤愤地说卖肉的也是这么说的需要先买葱才能买肉。卖葱的人摸着茶杯说了句不好意思,并告诉顾客说他们属于不同系统她管不了卖肉的,但如果没有买肉的凭证就不能把葱卖给你。这就是陷入死锁了。当然视频里的事不会在现实中发生,视频只是以此讽刺一些现象,生活中类似的其它事情却可能每天都在上演,尤其是在某些性质的部门。视频里卖葱的女人有句话说错了,卖葱和卖肉并不是 2 个不同的系统,而是共同隶属于社会这 1 个巨系统下的 2 个子模块。出现死锁,说明是系统架构设计出了问题,对于社会那就是规章制度有不对的地方。可惜并不是所有人都具备工程师思维,在这个巨系统中活跃的也并不都是 “技术” 人员。这带来更多的麻烦,一方面是有人想修复问题却最后总是一厢情愿,暴露出来的缺陷迟迟得不到改善;另一方面是甚至有人以此来推卸责任,尸位素餐,最终酿成人祸。

        总之,系统死锁可以避免。代码构成了工程系统,人组成了社会系统。但人不会像代码一样单纯,代码也不会有人那么多的想法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值