多线程问题

 我来答
一叶畅舟叶华源1297
2014-03-25 · TA获得超过1064个赞
知道答主
回答量:137
采纳率:100%
帮助的人:63.7万
展开全部
举个简单的例子吧
假如你的银行卡里边有1000块钱
你在外面消费刷卡的同时,别人往你账号上同时打钱
如果银行的系统没有一个锁机制的话,而消费和存储又同时发生的话,那么你的账号余额就乱了。
如果你消费了500,别人给你汇款了500,没有锁而二者又同时发生(虽然这种概率极低,但不能排除),那么很有可能你的账号余额是1500或者500,而实际上你的账号应该还是1000.

刷卡和存储可以看成两个线程,他们都在竞争你银行卡余额这个共同的资源,你的账号余额是1500还是500,取决于二者谁先竞争到了你账号卡里的余额数据。

所以这样的情况必须要加锁的,消费和存储同一时候只能有一个对银行卡余额进行操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式