Is Sqlite Database instance thread safe

后端 未结 4 1027
小蘑菇
小蘑菇 2020-12-03 02:45

I have a database with some tables. I want to update the tables using multiple threads. I will use same instance of SQLiteDatabase in all threads.

Please suggest if

4条回答
  •  佛祖请我去吃肉
    2020-12-03 03:15

    [WRONG:] No, it is not thread-safe by default. You shoud use locking-related SQLiteHelper methods to provide thread safety.

    [EDIT]: SQLiteDatabase class provides a locking mechanism by default (see comments) and if you are running on multithread, you don't have to consider changing anything to have thread-safety.

    Search for 'thread' in this document: http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

    And read more on:

    • http://www.touchtech.co/blog/android-sqlite-locking/
    • Android threading and database locking
    • Android -- SQLite + SharedPreferences, 2 Threads Simultaneous Read/Write?
    • https://groups.google.com/forum/#!topic/android-developers/s3blUf7CRhU

提交回复
热议问题