2 qq 18538601 qq_18538601 于 2016.03.21 15:33 提问

多线程同步银行多账户取钱

最近一直在想一个多线程的问题,举个例子
比如javaweb银行项目,同时两个人在异地个存取200元如何保证不出差错。
两个人在异地同时登陆的话其实在系统中是属于两个数据相同的对象(spring+hibernate)如果使用对象的排它锁也不会起作用。这种需求应该怎样实现那?

1个回答

qq_18538601
qq_18538601   2016.03.21 15:40

跪求大神答疑解惑~~~~(>_<)~~~~

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
线程安全问题(银行取钱问题)、同步代码块、同步方法
(1)线程安全问题: 关于线程安全问题,有一个经典的问题–银行取钱问题。银行取钱可以分为以下步骤: 1.用户输入账户密码,系统判断账户密码是否匹配 2.用户输入取款金额 3.系统判断账户余额是否大于取款金额 4.如果账户余额大于取款金额,则取钱成功,如果余额小于取款金额,则取款失败//按上面的流程去编写取款程序,并使用两个线程来模拟取款操作,模拟两个人使用统一账户并发取钱的问题。此处忽略检
Java多线程简单例子,银行存取示例。
http://blog.csdn.net/dayday1987/article/details/9971647
银行取款[多线程]{使用同步方法确保线程同步}
经典例子:老婆(朱丽叶)老公(罗密欧),使用银行卡和存折,或者网银等,同时对同一账户操作的安全问题。  此处用多线程实现,同时取款的模拟实现,使用同步方法确保线程同步,查看取款安全隐患问题,代码如下: * 线程同步 :使用同步方法,实现线程同步 * 同步synchronized方法的的对象监视锁为this,当前对象 * 多个线程使用同一把锁,如果线程安全必需确保:多个线程使用的是同一个t
多线程实例二----两个人同时存取钱
java 多线程简单实例二----两个人同一个账户取钱 思路:两个线程,一个代表取钱的操作,一个代表存钱的操作,互相不影响,但是要保证存取的数据正确。 代码如下: package com.shone.thread.getmoney; /** * Created by Xiao GuoJian on 2018/1/24. * 两个人用同一个账户在取钱 */ class Bank{
Synchronized解决银行取钱问题
当多个线程同时访问共同的资源并进行修改时,会产生错误,例如银行取钱的问题: 新建一个Acount.java,用来封装银行账户和余额,代码如下: 在新建一个FirstThread.java,用来表示当前线程: 运行结果,账户余额会出现负数,很明显,当其中一个线程取钱时,另一个线程也同时取钱,运行结果如下: 这时应对账户acount进行加锁,即使用syn
Java 账户 ,存款、取款
编制基本账户类,属性有账号、密码、余额,能存款和取款。并编制简单测试类验证方法是否正确。 Bank类 public class Bank { private String acount; private String password; private double balance; public Bank() { acount="123123"; passw
Java多线程实现银行存款与取款线程
使用Java多线程,实现模拟银行存款与取款操作的实例。
Java-多线程 银行取款小练习
在生活中,如果两个人同时从一个银行账户取款,会不会取到双倍的钱?结果当然不会了,如果这样银行还不得破产,运用多线程synchronized关键字实现银行取款练习,要求同一时间只能有一个对象取钱。 代码如下:package com.oracle.thread;public class BankDemo { public static void main(String[] args) {
Java线程之银行存取款
银行的存取款可以分为存款和取款: 当去存款的时候会先显示账户信息,然后将存进去的钱和账户原有的钱数相加,返回存款之后账户信息; 当去取款的时候会先显示账户信息,然后将取钱数和账户里面的钱相对比,如果取钱数大于账户里面的钱,那就将账户里面的钱全部取出,如果取钱数小于账户的钱,那就吐出所取的钱数。 本例使用了线程来处理,而且使用了线程同步(synchronized)的知识点 一
多线程——多线程解决经储户银行存钱问题2
package com.work.wor01; /** * 需求:有两个储户同时到一个银行去存钱,每人存3次,每次存100元。 * 要求打印出银行每次金额的变化情况(假设银行没钱) * * 分析:得出有两个类:银行和储户 * 这是一个多线程的问题,如何分析他的线程安全问题呢? * 1.通过线程的任务代码分析。 * 2.有没有共享数据,有没有多条语句在操作共享数据。 * */ //