本帖最后由 funnyone 于 2013-10-19 10:15:45 编辑

解决方案 »

  1.   

    我了个去,你们项目经理坑你。
    这个必须要事务控制,不懂事务去搜索下。
    简单给你说下原理,事务的作用就是保证你的多个更新/插入/修改数据,要么都成功,要么都不做。
    然后再说下,银行这些数据一般不是Java代码去执行最终的CRUD。你一般就最多调用到一个接口,另外操作数据库,必须使用同步。
      

  2.   

    你说的如何使用同步?
    这些都在action中完成的。
      

  3.   


    你不觉得很不合理吗?尤其是减去金额是多处源(方法)修改?
    这样效率很低的?
    你们是这样做的吗?
    银行数据库的操作不是Java做的,IBM大机
      

  4.   

    多线程这个不应该在数据库级控制,应该是在业务逻辑层控制,就是多个线程共享一个资源,经典的多线程问题,如用
    SharedResource sharedResource = new SharedResource();
    Thread t1 = new Thread(sharedResource);
    Thread t2 = new Thread(sharedResource);
    Thread t2 = new Thread(sharedResource);
    sharedResource里面的操作加锁控制这种方式,操作数据库的线程操作sharedResource的数据。
      

  5.   


    你们是这样做的吗?
    比如说在多个action ,要跟新 zbz 表,先判断剩余金额是否大于100,是减去100.