Запись в бд из нескольких потоков
Добавлено: 19 сен 2014, 11:17
Здравствуйте!
Столкнулся с такой проблемой, в приложении есть бд. Когда мне нужно записать или прочитать данные, я открываю подключение, делаю что-то и закрываю подключение. Понадобилось реализовать сервис который будет каждые 5 сек, писать "некие" данные в бд. Возникла проблема с одновременным доступом, то есть сервис что-то пишет в бд, и в это время бд нужна и приложению. Поможет ли реализация ContentProvider в приложении для решения этого вопроса, или же нужно как-то реализовать очередь доступа к базе, если да то как это делается? Где можно про это почитать, так как мне найти не удалось, может искал не правильно. Или может для сервиса нужно отдельно сделать свою базу данных и когда нужны данные то просто обращаться к сервису за данными?
Заранее благодарен!
З.Ы.
В приложении 2-е базы данных... Есть ли сложности написания ContentProvider в таком случает? Насколько я понимаю два хелпера и флаг для понимания с какой базой работать, но что-то мне подсказывает, что граблей там еще много...
Столкнулся с такой проблемой, в приложении есть бд. Когда мне нужно записать или прочитать данные, я открываю подключение, делаю что-то и закрываю подключение. Понадобилось реализовать сервис который будет каждые 5 сек, писать "некие" данные в бд. Возникла проблема с одновременным доступом, то есть сервис что-то пишет в бд, и в это время бд нужна и приложению. Поможет ли реализация ContentProvider в приложении для решения этого вопроса, или же нужно как-то реализовать очередь доступа к базе, если да то как это делается? Где можно про это почитать, так как мне найти не удалось, может искал не правильно. Или может для сервиса нужно отдельно сделать свою базу данных и когда нужны данные то просто обращаться к сервису за данными?
Заранее благодарен!
З.Ы.
В приложении 2-е базы данных... Есть ли сложности написания ContentProvider в таком случает? Насколько я понимаю два хелпера и флаг для понимания с какой базой работать, но что-то мне подсказывает, что граблей там еще много...