ユーザーが自分のアプリを起動したときに、インターネットの一部のデータをダウンロードして、電話機のsqliteデータベースと同期します。私は別のスレッドでこれを行います。私はsqliteはスレッドセーフではないので、2番目のスレッドでデータベースを更新する代わりに、私はメインスレッドを返し、データベースを更新する予定です。別のスレッドで同期すると、sqliteで同時実行性の問題が発生しますか?
このようにすると、sqlitedbの更新で並行性の問題が発生しないようになりますか?私が知っておくべき他の問題はありますか?
例:
dispatch_async(dispatch_get_global_queue(0, 0), ^{
//downloading data...
dispatch_async(dispatch_get_main_queue(), ^{
//update database here
}
}