Как создать потокобезопасный ContentProvider? - PullRequest
12 голосов
/ 20 сентября 2011

В документации Android написано

Методы ContentProvider могут вызываться из различных ContentResolver. объекты в разных процессах и потоках, они должны быть реализованы потокобезопасным способом

И я нашел этот пост в Stackoverflow Android - поставщики контента sqlite и многопоточность который говорит, что это потокобезопасность уже ??

Итак, просто интересно, как создать потокобезопасный ContentProvider? Достаточно ли, если я сделаю методы вставки / обновления / удаления syncronized

public synchronized Uri insert (Uri uri, ContentValues values) {

}

1 Ответ

13 голосов
/ 15 октября 2012

Вы можете сделать любой метод synchronized, , но убедитесь, что он абсолютно необходим, прежде чем делать . В случаях, когда базовый источник данных уже ориентирован на многопотоковое выполнение, методы synchronized могут быть дорогостоящими. Смотрите мою запись в блоге на эту тему для получения дополнительной информации.

...