因为SQLite是文件数据库,所以它的锁也基本是和文件一致,也即:写独占,读共享。这意味是在读取数据库的时候,是可以多个线程共享的,而如果有增删改的 *** 作,则会独占此文件,其他线程会进程都会被阻塞。
在移动设备上,比较常见的情况是App的UI进程和Service进程同时访问数据库,这个时候就要对其访问做好并发的处理,否则会出现很多意想不到的后果。
sqlite在并发的读写方面性能不是很好,数据库有时候可能会被某个读写 *** 作独占,可能会导致其他的读写 *** 作被阻塞或者出错。sqlite是轻量级的,没有客户端和服务器端之分,并且是跨平台的关系型数据库。sqlite是一个单文件的,可以copy出来在其他地方用。
sqlite,查询文件是否被其他应用占用:上传了一个数据库文件,然后解析其中的数据,解析完成后需要将数据库文件删除,这时是否提示文件被占用。已经关闭了数据库连接也无效,经过验证需要需要清除连接池,才可以彻底解决文件被占用的问题。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)