Вот моя проблема. Мое приложение запускает несколько потоков, каждый для определенного объекта, который нужно обновить. Обновление объекта происходит с запросом к одной базе данных. Существует одна база данных и один OpenHelper. Поведение моего приложения подсказывает мне, что вызовы в базу данных не являются одновременно и я бы хотел. Как я могу одновременно обращаться к одной базе данных из разных потоков? Если данные для каждого объекта в разных таблицах более эффективны для разделения базы данных в нескольких базах данных, по одному для каждого объекта?Доступ к базе данных SQLite одновременно из разных потоков
public class SomethingToBeUpdated implements Runnable {
private SQLiteDatabase db;
@Override
public void run() {
db.rawQuery(... bla bla
}
}
public class MainActivity extends Activity {
private SomethingToBeUpdated[] list = bla bla...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
for(SomethingToBeUpdated x : list) {
new Thread(x).start();
}
}
}
Будьте осторожны с этой многопоточной резьбой на Sqlite. В вашем случае лучше использовать 'JOINS' с rawQuery –