Обработка базы данных с помощью 2 процессов

У меня есть приложение, состоящее из 2 частей.

  • Служба, которая создает контент.
  • Приложение, которое использует контент

Каждая из этих частей запускается как разные процессы. Проблема в том, что у них обоих общая база данных. И я часто получаю ошибку блокировки базы данных, как когда служба пытается что-то записать, так и когда пользовательский интерфейс читает данные. Тоже наоборот. Как это сделать?

  • Класс, используемый для доступа к БД, является одноэлементным классом. Но поскольку и пользовательский интерфейс, и сервис - это 2 разных процесса, я полагаю, что есть 2 синглтона. Так что это не помогает.
  • Даже синхронизация не поможет, я полагаю, опять же из-за двух разных процессов.
  • Контент-провайдеры могут быть вариантом, но, поскольку я использую сложные запросы для поиска информации, было бы очень сложно использовать и это.

Как заставить два процесса совместно использовать базу данных. Мы будем благодарны за любые подсказки.

22
задан Codevalley 9 March 2011 в 15:51
поделиться