Как создать потокобезопасный ContentProvider?
В документации на Android говорится
Способы ContentProvider можно вызывать из различных ContentResolver объекты в разных процессах и потоках, они должны быть реализованы в потокобезопасном режиме
И я нашел этот пост в Stackoverflow
Android-провайдеры контента и многопоточность
который говорит, что он уже безопасен в потоке?
Итак, просто интересно, как создать потокобезопасный ContentProvider
? Достаточно ли, если я делаю методы вставки/обновления/удаления syncronized
public synchronized Uri insert (Uri uri, ContentValues values) {
}
Ответы
Ответ 1
Вы можете сделать каждый метод synchronized
, , но убедитесь, что это абсолютно необходимо, прежде чем вы сделаете. В тех случаях, когда базовый источник данных уже потокобезопасен, поэтому методы synchronized
могут быть дорогостоящими. Дополнительную информацию см. В сообщении в блоге в этом разделе.