卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

sqlite中文手冊(cè) sqlite能不能多線程并發(fā)訪問(wèn)?

sqlite能不能多線程并發(fā)訪問(wèn)?作為一個(gè)小型嵌入式數(shù)據(jù)庫(kù),SQLite不提供復(fù)雜的鎖定機(jī)制。它不能在內(nèi)部管理多通道并發(fā)下數(shù)據(jù)操作的同步,更不能進(jìn)行優(yōu)化。因此,當(dāng)涉及到多通道并發(fā)時(shí),需要外部讀寫(xiě)鎖控制

sqlite能不能多線程并發(fā)訪問(wèn)?

作為一個(gè)小型嵌入式數(shù)據(jù)庫(kù),SQLite不提供復(fù)雜的鎖定機(jī)制。它不能在內(nèi)部管理多通道并發(fā)下數(shù)據(jù)操作的同步,更不能進(jìn)行優(yōu)化。因此,當(dāng)涉及到多通道并發(fā)時(shí),需要外部讀寫(xiě)鎖控制,否則SQLite會(huì)返回SQLiteBusy錯(cuò)誤來(lái)拒絕請(qǐng)求。

返回SQLiteuuBusy主要有以下幾種情況:

1。當(dāng)有寫(xiě)操作時(shí),其他的讀操作將被拒絕

2。當(dāng)有寫(xiě)操作時(shí),其他寫(xiě)操作將被拒絕

3。當(dāng)事務(wù)被打開(kāi)時(shí),在事務(wù)被提交之前,其他寫(xiě)操作將被拒絕

4。當(dāng)一個(gè)事務(wù)被打開(kāi)時(shí),在提交該事務(wù)之前,其他事務(wù)請(qǐng)求將被拒絕

5。當(dāng)有讀操作時(shí),其他寫(xiě)操作將被拒絕

6?;谝陨嫌懻?,我們可以看出這是一個(gè)典型的讀者-作者問(wèn)題。讀操作應(yīng)該是共享的,寫(xiě)操作應(yīng)該是互斥的,讀操作和寫(xiě)操作也應(yīng)該是互斥的

可以設(shè)計(jì)以下解決方案來(lái)解決并發(fā)操作數(shù)據(jù)庫(kù)的鎖定問(wèn)題,并保證讀操作可以保持最大的并發(fā)性

1?;コ庥糜诳刂茢?shù)據(jù)庫(kù)寫(xiě)入操作。只有具有互斥的線程才能操作數(shù)據(jù)庫(kù)

3。寫(xiě)操作必須與互斥無(wú)關(guān)

4。讀取操作必須能夠共享互斥鎖,即在第一次讀取時(shí)獲取互斥鎖,在最后一次讀取時(shí)釋放互斥鎖http://blog.csdn.net/bestrem9/文章/細(xì)節(jié)/6322916