这两天在项目中用大强度大频率的方法测试时遇到sqlite报database is locked的问题,分析下来原因是sqlite对数据库做修改操作时会做(文件)锁使得其它进程同一时间使用时会报该错误(也就是SQLITE_BUSY),但如果仅是多进程或多线程查询sqlite是支持的.(也有可能是做sql开启事务查询等发生异常,数据库没有关闭,然后再去打开就锁定了)解决方法有:1.使用进程或线程间的同步机制以避免同时操作:如用信号量,互斥锁等(pthread_mutex_lock,pthread_m…