[热点话题]某网友发现一BUG,我想去试试……

季末未眠
先扣款后吐钞,你想什么呢

拉风的昵称已被人取了
引用 @EDG666 发表的:
每天一个入狱小技巧

这个入不了啊 实现不了

虎扑用户379928
谢谢分享,已经入狱了

天天错乱
取款机是先扣你的款再开始从箱子里拿钱出来的 也就是你按确定那一刻你的账户里就清零了

一大杯可乐
有延迟的

A
AllenLyyy
引用 @科比出梅肯 发表的:
根本不用纳秒级, 因为一个账户所有的操作都是线性的, 不可能并行的



你又叫我科比
引用 @FUberlin校草 发表的:
快进来!我已经在里面了,里面可好玩了

窃格瓦拉是你们的头儿么🐶

晨风碎夜
数据库的四个特性~

R
RNG_Knight
逻辑宝才,鬼扑捡到虎了。

藏烟闪手捧雷
引用 @otoman 发表的:
人家是先记账的,你以为银行是傻逼啊

这些人完全不知道手里的卡为什么叫借记卡。。
虎扑用户506720
transaction

w
wangjeffree
引用 @otoman 发表的:
人家是先记账的,你以为银行是傻逼啊

数据库事务基本概念……

c
chear蛮
这样 我微信给你 你给我发个红包试试

A
ADIDAS运动用品
引用 @FUberlin校草 发表的:
快进来!我已经在里面了,里面可好玩了

每次到这里都跟回家一样

虎枪小厮
为什么总有人把别人当傻子……

胖阡阡
引用 @虎扑JR0723889834 发表的:
是对程序员的侮辱,跟会计没啥关系。

ATM说白了就是银行柜台延伸,银行规则就是付款先记账后付款,存款相反,先收款后记账

有毒的怪蜀黍
引用 @FUberlin校草 发表的:
快进来!我已经在里面了,里面可好玩了

ass we can

C
Chaos124
引用 @王哥爱白白 发表的:
有一门课叫《数据库》我建议lz去学学,稍微学几页也不至于发出这种帖子

豁哟懂哥上了门数据库出来嘲讽人了,“什么?不会真的有不是计算机专业的吧🐶”

虎扑用户219358
引用 @otoman 发表的:
人家是先记账的,你以为银行是傻逼啊

atm厂家的客户是银行,会保证银行的利益。取款时先扣款再配钞,cwd 00后才会df,df失败后会冲正。我的工作之一就是每天查帐,有段时间天天上百笔。

虎扑用户862696
人类迷惑行为

太过仓促
你这是对程序员的侮辱啊哈哈哈
大力大力亲我
引用 @带人上篮 发表的:
你玩过炉石不?硬币山岭?

推坑兩個月還是被你整笑了

嘴哥必得MVP
引用 @古有弗洛伊德今有范德一彪 发表的:
双王牌毙双暴风城
火冲点崇高
铜须剑圣
奥金尼发财了
伺机待发硬币
奉献接亚索大

奉献接亚索大,我是头一回看见🐶

英超的尤文球迷高阳
引用 @苍中麻粒佬 发表的:
哪家监狱啊,我收拾东西马上就来🐶

禽城监狱,可nb啦🐶

佛祖穿肠过酒肉心中留
引用 @带人上篮 发表的:
你玩过炉石不?硬币山岭?

奉献接复仇之怒全打英雄?

最胖男青年
引用 @藏烟闪手捧雷 发表的:
这些人完全不知道手里的卡为什么叫借记卡。。

对头,同理信用卡也叫贷记卡,有的银行会在卡片背面备注此卡为贷记卡。

春风再美不如你
引用内容可能违规暂时被隐藏


没点级别禽城也是想去就去的 街上符合条件的怕是一个没有

虎扑用户211842
引用 @带人上篮 发表的:
你玩过炉石不?硬币山岭?

秀还是你秀

美职篮名人堂球员鲁代日
引用 @wangjeffree 发表的:
数据库事务基本概念……

原子操作的典型例子?

丹青不知吴钩了
ATM:你看我像傻逼吗
虎扑用户674959
引用 @otoman 发表的:
人家是先记账的,你以为银行是傻逼啊

真是无语...

墓畔哀歌
引用 @古有弗洛伊德今有范德一彪 发表的:
双王牌毙双暴风城
火冲点崇高
铜须剑圣
奥金尼发财了
伺机待发硬币
奉献接亚索大

奉献接亚索大可真是太秀了

虎扑用户992026
不能

虎扑用户050064
区域链的说法了!

u
ultrabullet
引用 @带人上篮 发表的:
你玩过炉石不?硬币山岭?

精彩,令人智熄

s
sxjcool
引用 @带人上篮 发表的:
你玩过炉石不?硬币山岭?

最近玩月圆之夜,发现手速快是可以在上一张牌效果之前打下一张的。。

等了90天却改了这个p名字
引用 @带人上篮 发表的:
你玩过炉石不?硬币山岭?

生动形象

马克西摩维奇亚历山大
不知道事务和锁机制吧?你的余额相当于一个临界资源,每次只可能有一个动作在操作它。另外你觉得你手再快有计算机反应快吗?哈哈,你取钱的瞬间,余额就已经上锁了

鹿
鹿取丶
引用 @带人上篮 发表的:
你玩过炉石不?硬币山岭?

炎术士放狗

敌人的荣誉
引用 @otoman 发表的:
人家是先记账的,你以为银行是傻逼啊

还不如存钱时把钱贴双面胶再取钱靠谱

咱、未簖奶
引用 @FUberlin校草 发表的:
快进来!我已经在里面了,里面可好玩了

哎呀!里面都配发电脑手机了?
青信22
只要你手速够快,微信红包就跟不上反应

我是李队
引用 @EDG666 发表的:
每天一个入狱小技巧

这么蠢的监狱一般不收。
我才是八折
我建议银行这样,直接不吐钞。为啥不吐钞啊,你不是发了红包去了吗,那红包为啥没发出来呀,你这不ATM机取款了嘛。哎呀,我忽然想起晓峰那个十米一台共享电话的点子,用手机扫二维码就能打电话了。
r
ryanqiao
引用 @敌人的荣誉 发表的:
还不如存钱时把钱贴双面胶再取钱靠谱

难道你不知道,ATM存和取是两个盒子吗?

虎扑用户672589
你如果学过数据库,学过并发处理,就不会问这个问题了

虎扑用户169947
引用 @wangjeffree 发表的:
数据库事务基本概念……

ACID

虎扑用户664867
我这还发现一个bug你免费拿去用。你去柜机存钱时不用排队浪费时间,反正都是一台机器里的一进一出,直接给前面要取钱的人得了,你帮人家省事省心,人家还得给你千恩万谢

虎扑用户887814
引用 @吾日三提吾肛 发表的:
手速要快

ID做到了吗🤣

K
KUZK
引用 @分分钟绝杀自己 发表的:
我感觉是对程序员的侮辱🐶

我感觉是对人的侮辱

h
huali592006958
楼主学过编程的话就不会问这种问题了

A
AllenLyyy
引用 @敌人的荣誉 发表的:
还不如存钱时把钱贴双面胶再取钱靠谱

没用的。核心不记账的。

T
TraeYoung特雷杨
引用 @春风再美不如你 发表的:
没点级别禽城也是想去就去的 街上符合条件的怕是一个没有

街上什么没有🐶

廖晶i
引用 @goGinobill 发表的:
这个图是对会计的侮辱🐶

哈哈哈哈哈哈哈哈啊哈哈哈,世界之大,无奇不有沙雕是如此之多,超乎我们的想象🐶🐶🐶

h
huali592006958
引用 @AllenLyyy 发表的:
不是抹账。atm,crm等金融设备。是有个钞箱管理模块的。先要上银行核心扣款才是吐钞的动作。既然已经有了吐钞的动作,说明余额已经扣了。这时候你的卡已经没余额了。发红包已经不存在了

正解,余额是先扣除的,然后才会吐钱,只要点击了取款,银行卡余额就已经清零了。数据库事务一致性保证不可能出现楼主意淫的这种情况

a
airmanyzc
微信pc版怎么登陆两个微信?
快速点微信就行....
虎扑用户206691
引用 @阿姆斯特朗回旋加速喷 发表的:
那条记录在update时是被锁死的…别的job无法同时修改。我没有做过ATM但是大同小异吧。

信号量

虎扑JR0723889834
引用 @魂淡jerryc 发表的:
程序员能自己定业务规则?

规则当然是银行定的,我只说这是程序员编写的哦。逻辑是这样。

龙子湖吴彦祖
引用 @第二次起名字 发表的:
ID做到了吗🤣

多谢提醒,已提

爷就是贾克斯
引用 @EDG666 发表的:
每天一个入狱小技巧

问题不大,我刚刷完越狱全五季

虎扑用户056497
引用 @FUberlin校草 发表的:
快进来!我已经在里面了,里面可好玩了

打工系不可能打工滴🐶

2
26楼我爱上你呐夏天
引用 @不留名字啊 发表的:
不懂就问 你们怎么选的监狱?为什么我每次都是直接给我安排好的?

人家主动入狱,你是被动入狱,没得选

凉拌李子酸
引用 @爷就是贾克斯 发表的:
问题不大,我刚刷完越狱全五季

第六季看了吗

苦集滅道
引用 @honey-wen 发表的:
先关机,等钱出来了再开机收信息

老哥太牛逼了,学会了!
西
西雅特车主
如果是程序员的话,肯定知道这个时候有锁
木头8
引用 @分分钟绝杀自己 发表的:
我感觉是对程序员的侮辱🐶

我感觉是对看帖人的侮辱🐶

m
matthew1008
引用 @阿姆斯特朗回旋加速喷 发表的:
那条记录在update时是被锁死的…别的job无法同时修改。我没有做过ATM但是大同小异吧。

不是的,银行就是先完成扣款,扣款成功了才驱动付款动作(钱扣完才开始点钱)。
如果付款失败,系统可控的会在几分钟后自动抹账,系统认为可疑的就记录一下可疑,不抹账,待人工核实处理。

魂淡jerryc
引用 @虎扑JR0723889834 发表的:
规则当然是银行定的,我只说这是程序员编写的哦。逻辑是这样。

那怎么不跟会计有关系?一笔账从哪个科目出的到哪个科目去不是会计和业务定好了再转成代码逻辑?

再见尤迪安
引用 @骑着羊放狼 发表的:
乐观锁

你要靠有也要往悲观锁上靠

严重强迫症患者
引用 @ryanqiao 发表的:
难道你不知道,ATM存和取是两个盒子吗?

???真不知道,老哥拆过atm吗?

羅先森
最简单的解释一下,银行操作一般都会有锁,锁你就相当于上厕所,一个人进去了,门就关了。另外一个人想上厕所,就得等进去的人上完把门打开,锁开了,后面的人才能进去,银行的程序也是如此。这边ATM正在操作的时候,简单来说就是给你账号加了锁,你那边红包的时候,即使你同步进行,那么也只能这两个一个拿到锁进去操作了,另外一个拿不到,进不去。数据库自带这些,在写程序时候,程序员也会注意这些,尤其是银行,财务这些系统。这也是程序中很常见的多线程问题。可能外行人看这种问题看个乐子,内行人看见这就逗笑了。

長歌
炉石有一个四费双山岭的传说……具体是三费时抽到十张牌,四费开始在牌还没爆的时候把2费山岭打出去,然后再硬币跳一个3费山岭。楼主这个操作很适合打手牌术。
Z
ZXS1996
引用 @阿姆斯特朗回旋加速喷 发表的:
那条记录在update时是被锁死的…别的job无法同时修改。我没有做过ATM但是大同小异吧。

我寻思着打个中文比你切键盘打英文方便多了吧? 你这个answer非常的stupid

德棍制造者
这哥们真是个人才,致富就靠他了

肥慢巴
引用 @honey-wen 发表的:
先关机,等钱出来了再开机收信息

哈哈哈哈!jrs都是逻辑鬼才!真的是把自己耳朵捂起来,全世界都没了声音

我很专业我不笑
引用 @FUberlin校草 发表的:
快进来!我已经在里面了,里面可好玩了

菊花残~满屁伤?

美特斯帮位
引用内容被灭过多已被折叠

这跟英文有啥关系,没搞过数据库吧

嘿那妞不错
引用 @带人上篮 发表的:
你玩过炉石不?硬币山岭?

所以炉石是有操作的
第十三舰队
引用 @上大小朋友 发表的:
你肯定不是程序员

经典并发问题
L
LL_hupu
知道单例模式要加锁么?

r
ryanqiao
引用 @严重强迫症患者 发表的:
???真不知道,老哥拆过atm吗?

这个不用拆,做过银行业务的都知道

J
Jz啦啦啦la
引用 @上大小朋友 发表的:
你肯定不是程序员

java线程安全,锁,数据库事务,操作系统原理,当时上课的时候老师天天举例子🐶

欧文多帅哦
引用内容被灭过多已被折叠

这叫jorgan,stupid

胡廷飞
引用 @上大小朋友 发表的:
你肯定不是程序员

对了,程序员都懂,保持数据的原子性,用事务处理的哈哈哈
步行街风向标标长
引用 @goGinobill 发表的:
这个图是对会计的侮辱🐶

是对ATM的侮辱

人生若只如初见啊
引用 @AllenLyyy 发表的:
不是抹账。atm,crm等金融设备。是有个钞箱管理模块的。先要上银行核心扣款才是吐钞的动作。既然已经有了吐钞的动作,说明余额已经扣了。这时候你的卡已经没余额了。发红包已经不存在了

👍

我的青春恋爱物语果然有问题
引用 @骑着羊放狼 发表的:
乐观锁

如果是锁死,那肯定是悲观锁啊,乐观个锤子,乐观锁靠的是cas原理

虎扑用户754763
数据库原理是不是逃课了楼主🐶

木子13
每天一个入狱小技巧
z
zfylzl
基本上每个程序猿学习编程的时候都会见过这个问题,同一个账号,同时取钱的时候,程序怎么控制的问题,这个代码里面都有控制的,被锁住了,ATM取钱的时候,程序还在操作,账户被锁住,你发红包请求到银行系统,因为账户被锁了,所以只能排队等ATM那个线程处理完,发红包的线程才能进入逻辑处理,所以根本不可能存在2次扣钱最后只扣1次的,放心
第24次初夜
引用内容被灭过多已被折叠

不会英文就去学,程序员不用英语难道用汉语编程

德州学院数学科学学院
引用 @wangjeffree 发表的:
数据库事务基本概念……

回滚

A
AllenLyyy
引用 @全是我的 发表的:
ATM有个抹账功能,当ATM钱不够或者你卡在这个时间点钱被用了,抹账功能就出来了,抹除你这次ATM取款操作。

再说一个问题。如果是同时间发生两个动作。不管你手速再快,最后到达核心实时交易都是两笔,事物严格一笔一笔执行并且核准余额,这不仅是系统上控制,核心也有复杂且稳定的机制保证交易唯一性,想靠并发压垮核心,出现账务错误可能性几乎为零。

我擦昵称这么烦
引用 @honey-wen 发表的:
先关机,等钱出来了再开机收信息

honey哥,医生怎么说

A
AilsaYui
可以,我已经这样套出来5万多了,现在有点害怕
橙汁尼洛
1、转账是一个事务操作,要确保一致性
2、这种情况不符合CAS
我不是萌萌
手速拼网速?智商欠费降速!

科比不该坐直升机
引用 @阿姆斯特朗回旋加速喷 发表的:
那条记录在update时是被锁死的…别的job无法同时修改。我没有做过ATM但是大同小异吧。

我怀疑插卡的时候,就事物锁死了。不然你atm这查余额是1000,微信消费掉100的时候,这时候atm的余额显示还是1000,那你再取1000会怎样?所以真正取钱update的时候再加锁我感觉有问题 等过段时间去试试,看看查余额的时候微信能消费这张卡吗