时间竞争风险的定义:
众所周知,网络游戏是大型分布式程序的先例,一个游戏,往往配置了成百上千的服务器去存储游戏玩家的各个信息,如帐号信息,财产信息,邮件信息……当成千上万台游戏客户端在不停的向各个服务器发送大量请求时,服务器如何精准的确定每一个客户端端状态并进行同步就面临着一个很大的问题——竞态条件。竞态条件是游戏中漏洞的来源之一,而时间竞争在众多竞态导致的漏洞中又占了很大一部分。在了解什么是时间竞争风险之前,先来理解什么是时间竞争。
举个简单的例子:
A和B有一天约在某小镇的电影院见面,但是因为疏忽,他们忘记了这个小镇有2个电影院1,2,等到了约定的时间,A去了电影院1,B去了电影院2,结果A和B均没有等到对方,这个时候,A和B均想起来,这个小镇还有另外一个电影院,于是,A乘车去了2,B又乘车去了1,结果,他们有一次失之交臂。<