如何创建线程安全的ContentProvider?
Android 文档说
ContentProvider方法可以从各种ContentResolver调用 不同进程和线程中的对象,必须实现它们 以线程安全的方式
我在 Stackoverflow 上找到了这篇文章 Android - sqlite 内容提供程序和多线程 这说它已经是线程安全的了?
那么,只是想知道如何创建线程安全的 ContentProvider
?如果我使插入/更新/删除方法同步
就足够了
public synchronized Uri insert (Uri uri, ContentValues values) {
}
Android documentation says
ContentProvider methods can be called from various ContentResolver
objects in different processes and threads, they must be implemented
in a thread-safe manner
And I found this post on Stackoverflow
Android - sqlite content providers and multithreading
which says it's thread safe already ??
So, Just wondering how to create a thread-safe ContentProvider
? Is it enough if I make the insert/update/delete methods syncronized
public synchronized Uri insert (Uri uri, ContentValues values) {
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使每个方法都
同步
,但在执行之前请确保这是绝对必要的。如果底层数据源已经是线程安全的,那么使方法同步
的成本可能会很高。有关此主题的更多信息,请参阅我的博客文章信息。You could make every method
synchronized
, but make sure it is absolutely necessary before you do. In cases where the underlying data source is already thread-safe making the methodssynchronized
could be costly. See my blog post on this topic for more information.