質問

ContentProviderの関数にReadWritELockを使用する必要がありますか?

ContentSproviderのクエリでは、getReadableDataBaseを実行し、その開いているかどうかを確認してクエリを実行します。しかし、時にはデータベースが散らばった脱出でクラッシュします。これは、他のプロセスが最初のプロセスを閉じるgetwritebledatabaseを実行する挿入物を実行する可能性があります。

コンテンツスプロバイダーにクエリと挿入を絶えずクエリして挿入するアプリとサービスを使用しています。したがって、ContentProviderはThreadSafeではないようです。

関数を同期させるのに役立ちますか?

ありがとう!

役に立ちましたか?

解決

ContentSproviderのクエリでは、getReadableDataBaseを実行し、その開いているかどうかを確認してクエリを実行します。しかし、時にはデータベースが散らばった脱出でクラッシュします。これは、他のプロセスが最初のプロセスを閉じるgetwritebledatabaseを実行する挿入物を実行する可能性があります。

あなたはあなたのデータベースを寿命のために開いたままにしておくべきです ContentProvider, 、 私の知る限り。

したがって、ContentProviderはThreadSafeではないようです。

afaik、a ContentProvider 1つのスレッドでのみ呼び出されます。

ContentProvider 主にファサードであり、本質的な糸の安全性を提供しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top