我正在开发一个多线程服务器,用于存储和读取数据库中的信息。该数据库是使用RocksDB实现的。
我遇到的问题是,当我一次从多个线程访问数据库时,我收到该错误。
通常,它会说数据库在使用后没有被删除,但现在它没有意义,当然它没有被删除,它正在被另一个线程使用。
我知道数据库本身是按顺序访问的,所以从技术上讲,你永远不会有两个线程同时读取它,但至少其中一个应该等到锁被释放并然后访问它
有人知道会发生什么吗?
最佳答案
问题是我在不同线程中有 2 个 Rocksdb::DB* 对象,具有相同的数据库名称,并且同时从两个线程打开数据库
关于android - RocksDB IO错误: lock db/LOCK: No locks available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33620906/