这个问题很有意思,尤其是当你账户余额不多的时候。
举个栗子:当前账户里只剩100元,偶在微信和ATM上同时取现,是不是可以各取100,一共两百,结果肯定是不可以的,下面就从技术和实践两个角度简单说一下。
技术上:大家的账户其实就是数据库中的表,余额则是表中某个字段的值,大家通过微信或者ATM取现其实就是对这个值的修改和保存操作。而银行采用的数据库一般都是支持事务控制的oracle或者db2,所以在最底层的数据储存上就会有相应的锁机制(有兴趣的可以去了解数据库事务的隔离级别和锁的机制)。所以抛开网络问题不谈,在最基本的数据存储上就已经对数据操作做了排他性控制,也就是在同一时间点上只会有一种数据写的操作,可能是毫秒级,或者更细。即便出现了同时两条写操作,那么数据库则会抛出异常,比如大家常见的”系统异常,请稍后再试”,当然这些大家能看到的异常都是攻城狮们处理后,能让大家看懂的提示。
实践上:在微信和ATM上要想做到同时操作很难的,排除网络延时不说,你让张三丰百年单身的手速恐怕也难以做到。有兴趣练手速的同学,可以拿两块秒表试试。当然,你也可以找两个心有灵犀的人试验,微乎其微。退一万步讲,即使你成功的做到了,不当得利一纸法文,您辛辛苦苦得到的也要乖乖还回去。
综上,如果您想通过这条路发家致富,恐怕是不行的。。。