标题:数据库打开失败
作者:介农酥
日期:2019-09-08 19:59
内容:
4个线程同时打开同一个数据库的不同连接时,有时候会失败,4个连接打开成功与否是随机的,我不太理解,难道由于同时打开,争夺资源什么的吗。
最后我没办法,将 if(!db.open())) 改成 while(!db.open),虽然是解决了问题,但是万一,一直打不开,那不死循环了吗(目前,我发现,打开两遍就行了)。
#1 [fsu0413 09-09 04:59]
死循环又不是不能避免,用个计数器break掉就完事了啊
#2 [cj123sn 09-09 08:30]
单例,全局使用1个数据库,读写锁加查询之间
#3 回 fsu0413 的帖子 [介农酥 09-09 08:54]
fsu0413:死循环又不是不能避免,用个计数器break掉就完事了啊 (2019-09-09 04:59)
数据库没打开,跳出来,程序也用不了。
#4 回 cj123sn 的帖子 [介农酥 09-09 08:55]
cj123sn:单例,全局使用1个数据库,读写锁加查询之间 (2019-09-09 08:30)
我用static总是导致程序运行一段时间后,中间崩溃,至今不知道原因。
#5 [XChinux 09-09 10:40]
数据库读写频繁吗?能否不管在哪个线程,用到时连接,读写,用完就释放。这样就不关心多线程问题。