0
也有類似的問題,但不清楚答案圍繞從多個線程使用sqlite數據庫。 考慮以下情形:從多線程sqlite訪問閱讀
class MainActivity extends Activity {
DbHelper db; //extends sqliteopenhelper
...
void M1() {
db.getReadableDatabase();
Cursor c = db.query("...."
...
db.close();
}
void M1() {
db.getReadableDatabase();
Cursor c = db.query("...."
...
db.close();
}
沒關係,這不是多線程,但問題是,
它成爲使用sqliteopenhelper實例的同一個實例的一個問題(即DB)像上面那樣,多次以不同的方式打開和關閉?
而我的情況是這樣的:myAsync extends AsyncTask doInBackground(.. {
do something using M1(); //this is a background thread }} onResume()...{ myAsync.execute(); M2(); //this is the main thread ... },如果你看到的是,在異步的情況下,它可能是兩個方法可以同時訪問同一個數據庫(讀only-關於寫如何? )。但他們正在使用SqliteOpenHelper的同一個實例。它會導致碰撞,如果是的話如何避免這種情況?
我想了解更多關於sqlite數據庫和併發性的信息
任何想法都將非常感激。
謝謝你提到關於「同步」,有人說,如果我只讀,沒有限制,沒有碰撞。真的嗎?我也想了解同步,但在那裏沒有用。你能推薦我任何鏈接,博客,來源嗎?我已經搜索了Android開發。 –
當然,如果我得到任何細節信息 –