就是假如数据库中有1,2 两条数据a,b两用户一次只能读取一条数据a用户读取1数据 在界面修改此数据的时候,b用户此时只能读2这条数据

解决方案 »

  1.   

       这里就改用到 数据库中的  锁 了; 
        就是要解决数据库并发访问的机制 一条数据在同一时间内只能被一个用户修改,其他用户可以查询;;
      锁又分为 行级锁,表级锁;
      
        行级锁只对用户正在访问的行进行锁定。在使用 INSERT、UPDATE、DELETE 和 SELECT ... FOR UPDATE 等语句时,Oracle 会自动应用行锁定。  表级所将保护数据,在事务处理过程中,表级锁会限制对整个表的增、删、改操作。LOCK TABLE <table_name> IN <look_mode> MODE [NOWAIT];
      行共享(ROW SHARE, RS)
      行排他(ROW EXCLUSIVE, RX)
      共享(SHARE, S)
      共享行排他(SHARE ROW EXCLUSIVE, SRX)
      排他(EXCLUSIVE, X)  你自己看看吧
      

  2.   

    可以用到java中的线程锁
    例如 取数据调用的是一个方法 这个方法为A那么 public synchronized  String A(){/**获取数据 **/
    }加上 synchronized  关键字即可 
    此时一次只允许一个线程进来 当这个线程还在执行操作的时候第二个线程只能等待  同时顶一下一楼! 呵呵
      

  3.   

    给个sql:  select * from table where id=1 for update