具体问题如下:
       我们要实现一个b/s结构的网站,要实现一个表中的数据,当读该表的时候,其他任何线程和用户都不能读取和操作它!
       我用sychornized定义一个方法,实现不了,清高手指点怎么实现呢?
       
       紧急要用,请高手们解答!!!

解决方案 »

  1.   

    有的数据库可以给行上锁,速度非常快
    比如mysql
      

  2.   

    楼主多半搞错了,这种需求几乎是不存在的,或者说是根本不必在意的。因为,数据库本身就有自己的事务处理机制。如果楼主一定要这么做,那么可以这样子:定义一个单例模式的数据访问组件,并且约定应用程序中所有的对该表的访问都只能通过这个 Dao 对象进行。我以一个对部门表进行操作的 Dao 对象举例,代码大概是下边这个样子:public class DeptDao {
      private static DeptDao dao = new DeptDao();
      
      private DeptDao() {}  public static DeptDao getInstance() {
        return dao;
      }  public synchronized List getAll() {
        ...
      }
      
      public synchronized Dept get(int deptId) {
        ...
      }  public synchronized bool add(Dep dep) {
        ...
      }  public synchronized bool update(Dep dep) {
        ...
      }  public synchronized bool del(int depId) {
        ...
      }
    }