SQlite源码分析

dot-file Locking

       dot-file Locking(点文件锁)的实现是使用存在单独的锁文件,就是一种目录来控制对数据库的访问。它的工作原理是在同一个目录里面创建有相同的扩展名“.lock”的次目录并存入数据库。一个锁目录的存在就意味着它是排他锁,其它所有类型的锁,包括共享锁、保留锁、未决锁,都会映射到排他锁。这种机制可以用于任意一种文件系统,同时它也存在严重的缺陷:
(1)它没有并发性,一个读者就阻碍了其他所有要对数据库进行读写的连接;
(2)应用程序的崩溃或功率的耗损都会使旧的锁文件无法自动清理,而需要手动清除不过,点文件锁是一种适用于没有其他锁策略可用的情况的锁机制。