【问题标题】:RocksDB IO error: lock db/LOCK: No locks availableRocksDB IO 错误:lock db/LOCK:没有可用的锁
【发布时间】:2016-02-10 19:03:48
【问题描述】:

我正在开发一个多线程服务器,用于存储和读取数据库中的信息。 db 是用 RocksDB 实现的。

我遇到的问题是,当我一次从多个线程访问数据库时,我得到了那个错误。

通常情况下,在usign之后db没有被删除,但是现在它没有意义,当然它没有被删除,它正在被另一个线程使用。

我知道数据库本身是按顺序访问的,所以从技术上讲,你永远不会让两个线程同时读取它,但至少有一个线程应该等到锁被释放后再访问它

有人知道会发生什么吗?

【问题讨论】:

    标签: android c++ multithreading server rocksdb


    【解决方案1】:

    问题是我在不同线程中有 2 个具有相同数据库名称的 Rocksdb::DB* 对象,并且同时从两个线程打开数据库

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 2011-06-10
      • 2020-06-17
      相关资源
      最近更新 更多