代码之家  ›  专栏  ›  技术社区  ›  Alexey Romanov

如何检查SQLite连接的线程模式?

  •  3
  • Alexey Romanov  · 技术社区  · 15 年前

    是否可以检查 threading mode 一个活动的SQLite连接?我知道 sqlite3_threadsafe() ,但是

    sqlite3_threadsafe()函数的返回值仅显示线程安全的编译时设置,而不显示sqlite3_config()对该设置所做的任何运行时更改。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Alexey Romanov    15 年前

    以下是部分答案:

    sqlite3_mutex *sqlite3_db_mutex(sqlite3*);
    

    这个接口返回一个指针 序列化的sqlite3_互斥对象 访问数据库连接 当 线程模式已序列化。如果 线程模式为单线程或 多线程,然后此例程返回 空指针。

    现在我只需要一种方法来区分单线程和多线程。。。

        2
  •  1
  •   Barry Smith    8 年前

    嗯,七年前的问题。不过,你自己已经回答了。下一个来找的人:

    如果线程模式是单线程或多线程,sqlite3_mutex将返回NULL。

    所以我们有:

    (sqlite3_threadsafe,sqlite3_mutex):线程模式

    (0,空):单线程

    (1,空):多线程

    (1,有效):序列化

    推荐文章