Chinaunix首页 | 论坛 | 博客
  • 博客访问: 88845
  • 博文数量: 31
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 350
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-16 20:38
文章分类
文章存档

2009年(12)

2008年(19)

我的朋友

分类:

2008-10-27 23:02:02

前些天,公司去青岛旅游,吃饭的时候玩游戏,其实也没多大意思,惩罚当然无非就是喝“青岛啤酒”了!这样子的喝法,其实酒和水也多大分别,反正是一骨碌下去!这么好的啤酒,这么个“品法”,实在糟蹋了!

玩游戏的时候又想起一些关于工作上的事情,工作嘛,无非就是和技术相关的东西。

因为玩游戏是不断转换的过程,上一个人指定下一个人,下一个人按预定义的指令做出相应的动作并指出下下一个,如果中间有人做错游戏就结束,如果没人做错整个过程结束,游戏从头开始。这很容易让人联想到“有穷状态机”。这样的“有穷状态机”,说实在的,其实不怎么难。但是,在这个过程中,频繁有人出错,(我出错的很多,因为之前load比较大,有点忙不过来,每天起早贪黑的,去旅游无非是想放松放松,根本就不想记什么东西,包括游戏规则,所有就老出错),为什么呢?

因为通常我们说的“有穷状态机”都是在单个计算机平台上run的,所以状态转换的时候上一个状态总是能很容易地进入下一个状态的,但如果是在分布式的环境下所有的计算机平台合作run一个“状态机”,效果又会怎么样呢?就会像游戏中出现的那样,可能处处出错。这又是为什么呢?因为整个系统从一个稳定状态开始接受一个任务,处理这个任务,从而又进入另一个稳定状态的过程中,上一个状态很难判断下一个状态。举个例子,如果上一个状态中指定系统内某几个节点必须run某个关键的任务,这样才能正确进入下一个状态,那么系统还在上一个状态停留的时候如何去判断这几个节点是否还有能力去run这些关键任务呢?要完全解决这个问题几乎是不可能的,所以必须要假设某些条件在所有的情况下都成立,比如说,网线、电源总是好的、能用的,当然也许大部分人在写design draft的时候默认就把这些列入先决条件,但是看draft的人也许不清楚项目的情况,所以即使是这样的先决条件也应该尽量写清楚,以确保不会引起歧义!
阅读(2785) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~