读锁时,可以写入吗?如果可以写入,那么读锁定有什么意义呢?
----------------------------------------
有两种锁,共享锁和排他锁,也可以称为读锁与写锁。1.如果处于写锁时,别的用户肯定不能写入,我想问,此可可以读取数据吗?
2.如果处于读锁时,别的用户也可以读取,但是我想问,别的用户可以写入吗?
如果不能写入的话,那么如果每时每刻都有用户在读取,则永远轮不到有写入的机会呀?
如果可以写入的话,那么读锁有什么意义呢?也就是说,相当于读锁什么也不限制呀?一些基本概念不太清楚,请达人指正。

解决方案 »

  1.   

    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  2.   

    1. 被写锁(排它)锁定时,其它会话(用户)不能读取数据
    2. 处于读锁时,别的会话也可以申请读锁,也可以读取,但是读锁在释放前,别的用户得不到相同资源的写锁。3. 不能写入,每时每刻都有用户读取,但并不一定读取相同粒度的数据,比如锁定的是若干数据行,不是整张表。一旦锁释放,就有写入的机会。你说的情况会发生在粒度较大的锁。有的数据库这方面处理的不太好,比如sqlite
    4. 不作答。